HBase SI,一个不完善的HBase 分布式事务的解决方案

这两天我又看了一下HBase SI

HBase SI是HBase的一个分布式事务框架,它被设计成一套客户端的API,不需要对HBase中现有的数据做任何改动。它用了几张额外的HBase表来保存事务的源数据。HBaseSI也采用了SnapshotIsolation,但它的特点是它没有使用传统的两阶段提交来解决分布式事务的问题,而是采用了一种新的方法。

HBase SI可以说是一个相对不完善的解决方案:

  • 它使用Committed表来保存业务数据的快照,并在事务过程中使用Committed表来获知业务数据的最新版本。但是,如果对于一个已有业务数据的HBase应用系统来说,想要使用HBase SI的前提就是,先对所有已有数据生成Committed表中的记录,在此过程中,系统必须停机禁止数据的修改,否则会干扰Committed表的生成过程。
  • 它使用两个全局的Queue来控制所有事务的提交,对于性能而言,这是很明显的瓶颈,尤其是出错时的超时,会阻碍所有事务的提交,这对于一个OLTP来说,是致命的。
  • 没有出错回滚机制,如果事务发生错误,它涉及到的那些中间状态的业务数据会一直保存在HBase中,日积月累,没人清理,十分悲催。
  • 即使事务发现有写冲突,也提交 

基本上来说,HBase SI只能用于理论探索,无法用于大数据量的实战。

唯独全局Queue来解决分布式事务的思路可以说是亮点,虽然也是无法用于实战。


感觉它需要不少补丁啊,不如Percolator或者Haeinsa那么成熟。

HBase SI的详细说明,请参见HBase SI,HBase的一个不成熟的分布式事务方案【12页】


关于Percolator,可参考我的博文Percolator详解

关于Haeinsa,可参考我的博文Haeinsa详解








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值