Hbase和BigTable的区别是什么?

时间:2014-07-21 08:19:18

标签: database hbase bigtable

谁能告诉我Apache HBase数据库和Bigtable有什么区别?或者它们是一样的吗? 哪一个支持关系,如果有的话? 如果他们是Big Searcher有什么区别?

2 个答案:

答案 0 :(得分:6)

它们相似,但不一样!

Bigtable最初于2005年发布,但并非如此  在2015年之前向公众开放.Apache HBase是基于Google的出版物Bigtable: A Distributed Storage System for Structured Data创建的,并于2008年首次发布。

一些相似之处:

  1. 两者都是NoSQL。这意味着它们都不支持连接,事务,类型列等。
  2. 两者都可以处理大量数据 - PB级!这是因为支持线性水平缩放。
  3. 两者都强调高可用性 - 通过复制,版本控制。
  4. 两者都是无架构的:您可以在以后创建表并添加列族或列。
  5. 两者都有适用于大多数流行语言的API - Java,Python,C#,C ++。完整的支持语言列表略有不同。
  6. 两者都支持Apache HBase Java的API:在Apache HBase取得成功之后,Google为Bigtable添加了类似HBase API的支持,但有一些限制 - 请参阅API differences
  7. 有些差异:

    1. Apache HBase是一个开源项目,而Bigtable则不是。
    2. Apache HBase可以安装在任何环境中,它使用Apache Hadoop的HDFS作为底层存储。 Bigtable仅作为Google的云服务提供。
    3. Apache HBase是免费的,而Bigtable则不是。
    4. 虽然有些API很常见,但其他API却不常见--Bigtable支持gRPC(基于protobuf)API,而Apache HBase则有Thrift和REST API。
    5. Apache HBase支持服务器端脚本(e.q.触发器),并且由于其开源特性,通常对扩展更加开放。
    6. Bigtable支持多群集复制。
    7. Apache HBase始终具有即时一致性,而Bigtable在最坏情况下具有最终一致性。
    8. 不同的安全模型--Apache HBase使用访问控制列表,而Bigtable依赖于Google的云身份和访问管理。
    9. 在其网站上查看更多内容 - BigtableApache HBase

答案 1 :(得分:1)

它们非常相似,以至于Google现在可以通过HBase 1.0 API访问Bigtable:cloud.google.com/bigtable