HBase事务支持Omid
-
Omid 项目来自 Yahoo,用于给使用快照隔离的键值存储提供事务支持。 Omid 是 Optimistically transactional Management in Datasources (数据源事务管理优化)的缩写。HBase 是目前唯一支持的数据库, 但适配其他提供一单元多版本的数据也会很简单。
OMID 包含三个组件:The Transaction Status Oracle (TSO),指定事务时间戳和解决事务之间的冲突。The commit table,保存一个开始时间戳到提交时间戳的映射。Shadow cells,于数据单元一同写入数据库,允许客户端解决未咨询 commit table 即读取的问题。
Trafodion是一个分布式数据库,操作分布在集群的不同节点执行,比如两条写操作可能由两个不同的ESP在不同节点运行,所以Trafodion还需要处理分布式事务。
Trafodion的事务处理器将并发控制的职责分成两部分,TM(Transaction Manager)负责整个事务的分布式并发控制,保证事务本身的一致性;RM(Resource Manager)负责数据访问的并发控制,保证数据的一致性。
具体来说,RM采用前面所说的MVCC技术,提供Snapshot Isolation级别的数据一致性。
在Trafodion中,每个HBase的Region都是一个RM。一个事务很可能会在多个Region上操作,比如事务需要更新两行数据,而它们分别属于两个不同的Region。在这种情况下,一个事务会有多个RM参与。而HBase的Region很可能运行在不同的物理节点上,因此这是一种分布式事务。分布式事务由TM保证整个事务的一致性。
项目地址: https://github.com/domino-succ/domino
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏