【问题标题】:What it the difference between Hbase and BigTable?Hbase 和 BigTable 有什么区别?
【发布时间】:2014-09-11 16:30:39
【问题描述】:

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

【问题讨论】:

    标签: database hbase bigtable


    【解决方案1】:

    它们相似,但不一样!

    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

    一些区别:

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

    在他们的网站上查看更多信息 - BigtableApache HBase

    【讨论】:

    • 在实现方面也有区别吗?
    • Bigtable 确实支持单行事务(它只是不对多行的操作做出事务性保证)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-02-16
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多