HBase从2010年开始前前后后经历了几十个版本的升级,不断地对读写性能、系统可用性以及稳定性等方面进行改进,如下图所示。在这些版本中,有部分版本在HBase的发展历程中可谓功勋卓著。
0.94.x版本是HBase历史上第一个相对稳定的生产线版本,国内最早使用HBase的互联网公司(小米、阿里、网易等)都曾在生产线上大规模使用0.94.x作为服务版本,即使在当前,依然还有很多公司的业务运行在0.94.x版本,可见0.94.x版本在过去的几年时间里是多么辉煌。
之后的2年时间,官方在0.94版本之后发布了两个重要版本:0.96版本和0.98版本,0.96版本实现了很多重大的功能改进,比如BucketCache、MSLAB、MTTR优化等,但也因为功能太多而引入了很多bug,导致生产线上真正投入使用的并不多。直至0.98版本发布。0.98版本修复了大量的bug,大大提升了系统可用性以及稳定性。不得不说,0.98版本是目前业界公认的HBase历史上最稳定的版本之一,也是目前生产线上使用最广泛的版本之一。
2015年2月,社区发布了1.0.0版本,这个版本带来的最大改变是规范了HBase的版本号,此后的版本号都统一遵循semantic versioning语义,如下图所示。
比如1.2.6版本中MAJOR版本是1,MINOR版本是2,PATCH是6。不同MAJOR版本不保证功能的兼容性,比如2.x版本不保证一定兼容1.x版本。MINOR版本表示会新增新的功能,比如1.2.x会在1.1.x的基础上新增部分功能。而PATCH版本只负责修复bug,因此可以理解为MAJOR、MINOR相同的情况下,PATCH版本越大,系统越可靠。
在1.0的基础上官方先后发布了1.1.x、1.2.x、1.3.x以及1.4.x等多个版本。因为稳定性的原因,并不建议在生产线上使用1.0.0~1.1.2中间的版本。目前,HBase社区推荐使用的稳定版本为1.4.10。
2.x版本是接下来最受期待的一个版本(升级要慎重,请参考社区中的实践),因为最近一两年社区开发的新功能都将集中在2.x版本发布,2.x包含的核心功能特别多,包括:大幅度减小GC影响的offheap read path/write path工作,极大提升系统稳定性的Procedure V2框架,支持多租户隔离的RegionServer Group功能,支持大对象存储的MOB功能等。
资料来源:《HBase原理与实践》,文章链接:https://developer.aliyun.com/article/724670
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。