- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HBase与BigTable的比较(翻译)
博客分类:
Hadoop
HBaseHadoopMapreduce数据结构配置管理
知,HBase是Google的BigTable架构的一个开源实现。但是我个人觉得,要做到充分了解下面两点还是有点困难的:一 HBase涵盖了BigTable规范的哪些部分?二 HBase与BigTable仍然有哪些区别?下面我将对这两个系统做些比较。在做比较之前,我要指出一个事实:HBase是非常接近BigTable论文描述的东西。撇开一些细微的不同,比如HBase 0.20使用ZooKeeper做它的分布式协调服务,HBase已经基本实现了BigTable所有的功能,所以我下面的篇幅重点落在它们细微的区别上,当然也可以说是HBase小组正在努力改进的地方上。比较范围本文比较的是基于七年前发表的论文(OSDI’06)所描叙的Google BigTable系统,该系统从2005年开始运作。就在论文发表的2006年末到2007年初,作为Hadoop的子项目的HBase也产生了。在那时,HBase的版本是0.15.0. 如今大约2年过去了,Hadoop 0.20.1和HBase 0.20.2都已发布,你当然希望有一些真正的改进。要知道我所比较的是一篇14页的技术论文和一个从头到脚都一览无余的开源项目。所以下面的比较内容里关于HBase怎么做的讲得比较多点。在文章的结尾,我也会讨论一些BigTable的如今的新功能,以及HBase跟它们比较如何。好,我们就从术语开始。术语有少数几个不同的术语被两个系统用来描述同样的事物。最显著的莫过于HBase中的regions和BigTable中的tablet。自然地,它们各自把一连串的行(Rows)切分交给许多Region server或者tablet server管理。特性比较接下来的就是特性比较列表,列表中是BigTable跟HBase的特性比较。有的是一些实现细节,有的是可配置的选项等。让人感到有困惑的是,将这些特性分类很难。
?
?
特性 BigTable HBase 说明 读?/?写?/?修改的原子性 支持,每行 支持,每行 因为?BigTable?不像关系型数据库,所以不支持事务。最 接近事务的就是让对每行数据访问具有原子性。?HBase?同样实现了”行锁”的?API?,让用户访问数据时给一行或 者几行数据加锁。 词典顺序的行排序 支持 支持 所有行都按照词典顺序排序 数据块支持 支持 支持 在数据存储文件中,数据是由更小的数据块构成的。这使从大的存储文件读取数据更快。数据块的大小是可 配置的,典型配置是?64K?。 数据块压缩 支持,按Column Family 支持,按Column Family Google?使用?BMDiff?和?Zippy?做两步处理。?BMDiff?工作得很好是因为存储文件中相邻的?key-value?对的内容经常非常相似。因为数据支持多个版本,几个版本的内容会被排序然后被存在一起,它们之间有很 多相同的内容。或者?row key?也会被用这样的方式处理,比如如果用?URL?来作为row key?,而这些?URL?来自统一个网站,那么?row key?也会有很多相似之 处。?Zippy?使用的是改进的?LZW?算法。?HBase?使用的是?Java?支持的标准的?GZip?,以及一点点?GPL licensed LZO?格式支持。?Hadoop?也有想使用?BMDiff?和?Zippy?的征兆。 Column Family?数量限制 最多几百 小于?100 理论上行数和列数是无限的,可是列族(?column family?)却不是。这个只是设计上的一些折中考率?. Column Famil命名格式 可打印 可打印 HBase?这样做的主要原因是?Column Famil?的名称会被作为文件 系统中的目录名称 Qualifier?命名的格式 任意 任意 任意的字节数组 Key/Value?对的格式 任意 任意 任意的字节数组 访问控制 支持 无 BigTable?支持?column family?级别的访问控制。?HBase?暂不支持 Cell?多版本 支持 支持 多版本支持是基于时间戳。?
版本数目限制可以基于?cloumn family?级别自 由配置 自定义时间戳 支持 支持 两个系统都支持用户设定时间戳,如果用户不指定,则 使用当前时间作为时间戳。 数据?TTL 支持 支持 除了数据可以有多个版本,用户还可制定?TTL?(?time-to-live?),当数据到期后会被清除 批量写入 支持 支持 都支持批量表操作 值计数器 支持 支持 两者都可使用特定的
文档评论(0)