MemFire是否支持分布式事务?
-
MemFire采用什么机制实现分布式事务
-
@moon
MemFire支持跨任意数量节点的强一致性分布式事务功能,零数据写入丢失,确保数据的正确性。当一个请求会修改多个分片的数据时,MemFire会通过分布式事务来控制来保证事务的ACID语义。MemFire做了如下工作:
(1)时间同步;采用混合逻辑时钟来保证数据在同一时刻可见,;
(2)多版本并发控制;
* 使用多版本并发控制(MVCC)在内部维护数据一致性,最大程度上减少锁争用;
* 多个事务并发执行时,会根据时间戳不同读取不同版本的数据,修改同一行数据,则会产生不同的版本,事务内部可以读取自己创建的版本,而不能读取其他事务新创建的版本,从而实现事务间的数据隔离。多个事务并发执行时,会根据时间戳不同读取不同版本的数据,修改同一行数据,则会产生不同的版本,事务内部可以读取自己创建的版本,而不能读取其他事务新创建的版本,从而实现事务间的数据隔离。
(3)事务执行路径优化;
(4)基于两阶段提交(2PC)保证原子性;