我想您理解的分布式数据库应该是集中式数据库的分布式体现。即存储数据、锁、写缓冲池是集中的,计算节点、读缓冲池是分布的。可以看到,由于“存储数据、锁、写缓冲池是集中的”,所以事务其实也是集中的,解决了这一大难题,集中式数据库的分布式体现是很容易实现的,只要多部署计算节点,集中式的资源(数据、锁、写缓冲)节点由单独的一个节点完成,计算节点直接通过RDMA技术访问这些集中式的资源。
上面便是DB2 PURESCALE的特性。ORACLE RAC也是同样类似的道理,只不过RAC的锁、写缓冲池是分布的,RAC用的更多的是缓存融合的概念,利用节点与节点的网络通信,来实现节点缓存的不断更新变化。
针对这一块,应用是透明的,分布式事务不需要在应用层去实现,数据库可以做到,起码DB2 PURESCALE可以。