Hbase和BigTable有什么区别?

sal*_*lar 7 database hbase bigtable

谁能告诉我Apache HBase数据库和Bigtable有什么区别?还是一样?哪一个支持关系(如果有)?如果他们是大搜索者,有什么区别?

arg*_*ype 10

它们相似,但不相同!

Bigtable最初于2005年发布,但直到2015年才对公众开放。Apache HBase是根据Google的出版物Bigtable:用于结构化数据的分布式存储系统而创建的,于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的区别

一些差异:

  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支持服务器端脚本(eq触发器),并且由于其开源特性,通常对扩展更开放。
  6. Bigtable支持多集群复制。
  7. Apache HBase始终具有即时一致性,而Bigtable在最坏的情况下最终具有一致性。
  8. 不同的安全模型-Apache HBase使用访问控制列表,而Bigtable依赖于Google的云身份和访问管理。

在其网站上查看更多信息-BigtableApache HBase

  • Bigtable确实支持单行事务(它只是不对多行操作提供事务保证) (2认同)