Hbase 和 BigTable 有什么区别?

2024-01-10

谁能告诉我 Apache HBase 数据库和 Bigtable 之间有什么区别?或者它们是相同的吗? 如果有的话,哪一个支持关系? 如果他们是大搜索者,有什么区别?


它们很相似,但又不一样!

Bigtable 最初于 2005 年发布,但并未发布 2015 年之前向公众开放。Apache HBase 是根据 Google 的出版物创建的Bigtable:结构化数据的分布式存储系统 http://research.google.com/archive/bigtable.html于 2008 年首次发布。

一些相似之处:

  1. 两者都是NoSQL。这意味着两者都不支持联接、事务、类型化列等。
  2. 两者都可以处理大量数据 - PB 级!这是由于线性水平缩放的支持而实现的。
  3. 两者都强调高可用性——通过复制、版本控制。
  4. 两者都是无架构的:您可以创建表并稍后添加列族或列。
  5. 两者都具有适用于最流行语言(Java、Python、C#、C++)的 API。支持语言的完整列表略有不同。
  6. 两者都支持 Apache HBase Java 的 API:在 Apache HBase 成功之后,Google 为 Bigtable 添加了对类似 HBase 的 API 的支持,但有一些限制 - 请参阅API差异 https://cloud.google.com/bigtable/docs/hbase-differences.

一些差异:

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

在他们的网站上查看更多信息 -Bigtable https://cloud.google.com/bigtable/ and 阿帕奇HBase https://hbase.apache.org .

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hbase 和 BigTable 有什么区别? 的相关文章

  • 如何决定使用哪种NoSQL技术? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 MongoDB 基于文档 HBase 基于列 和 Neo4j 对象图 的优缺点是什么 我特别有兴趣了解
  • 数据库设计 - 何时拆分表?

    有时创建一个单独的表会产生更多工作 我是否应该将其拆分 例如 在我的项目中 我有一张客户表 每个客户对每种产品都有自己的特殊价格 只有5种产品 未来不会计划更多产品 每个客户也有一周中公司向他交付产品的独特日子 当日期和产品价格是客户表中的
  • 同步2个具有不同模式的数据库

    我们有一个使用通用表设计的标准化 SQL Server 2008 数据库 因此 我们没有为每个实体 例如产品 订单 订单项等 使用单独的表 而是使用通用表 实体 实例 关系 属性等 我们决定建立一个单独的非规范化数据库来快速检索数据 您能否
  • 哪些 ORM 与 Scala 配合得很好? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 关于ORA 21000

    我正在与 ORA 21000 作斗争 上面写着ORA 21000 raise application error 的错误号参数 3739 超出范围 此错误间歇性出现 我不知道为什么会发生这种情况 早些时候这工作得很好 但是从 Solaris
  • 在哪里可以下载可用作数据仓库的示例数据库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以下载可用于创建数据仓库的示例数据库 它不应该是来自 Microsoft Northwind
  • 在 MySQL 中对连续值进行分组并向这些组添加 id

    我有一个简单的表 我需要确定四行的组 这些组不是连续的 但每行的每一行的值都有 1 例如 language id C 16 C 17 Java 18 Python 19 HTML 65 JavaScript 66 PHP 67 Perl 6
  • 从数据库中删除重复的行

    我需要从数据库中删除重复的行 我可以用简单的sql查询来完成吗 如果没有 请告诉我一些快速算法来做到这一点 Example id field one field two 1 0000000 11111111 2 2222222 333333
  • Postgres - 如何在插入时自动调用 ST_SetSRID(ST_MakePoint(lng, lat), 4326)?

    我正在使用postGIS 并且我对SQL不是很熟悉 我可以成功插入到我的markers表只要我做这样的事情 伪代码 INSERT INTO markers created by title description lat lng geogr
  • 通过 JDBC 将“daterange”字段值插入 PostgreSQL 表

    我在 PostgreSQL 9 3 有一个表日期范围 http www postgresql org docs 9 3 static rangetypes html字段类型 我可以像使用 JDBC 的字符串一样选择此字段 但无法将其插入表中
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教
  • 如何找到多个列中的最小值

    我在我的 DB 3 col 中有一个值 我想在所有这些值中找到一个值 如下所述 表名 MyTable id col1 col2 col3 1 200 300 400 2 100 150 300 3 800 102 20 4 80 80 0
  • .NET 的 BLOB 分布式存储?

    我正在寻找一个经过相当好的测试的库 服务器来存储持久的分布式哈希表 我对使用基于 SQL 的解决方案犹豫不决 因为数据是高度面向文档的 由数百万个约 64KB 的 blob 组成 只有一个索引 由所述 BLOB 的哈希计算 并且需要能够进行
  • java ResultSet,使用MAX sql函数

    你好 这就是我想要的 我连接到数据库并检索 UniqueId 列的最大元素 并将其分配给名为 maxID 的整数变量 这是我的方法 int maxID 0 Statement s2 con createStatement s2 execut
  • 如何在首次运行时填充大型 SQLite 数据库

    我正在开发一个基于 SQLite 数据库的字典应用程序 该数据库包含超过 300 000 行 问题在于 最终形式的数据库文件由全文索引表组成 并且重量远远超过150Mb 我通过创建无内容的 fts4 表设法将 db 文件大小降至最低 数据库
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME

随机推荐

  • ASP.Net Core - API 身份验证错误时没有重定向

    在我的 ASP NET Core 项目中 我有一些具有 jwt 授权的 API 控制器 如下所示 Route api v1 controller public class MyController Controller HttpGet ac
  • Android 视图 - 如何通过 XML 配置“松散”的视图元素?

    这就是我想要实现的目标 在 TabWidget 中使用 TextView 即调用TabHost TabSpec setIndicator View 代替TabHost TabSpec setIndicator String 我想在 XML
  • 计算 nCr 的更好方法

    方法一 C n r n n r r 方法2 在书里 我发现了这个 C n r 可以写成C n 1 r C n 1 r 1 例如 C 7 4 C 6 4 C 6 3 C 5 4 C 5 3 C 5 3 C 5 2 After solving
  • 权限拒绝:读取 com.android.providers.contacts.CallLogProvider

    我在特定手机和运营商上遇到此异常 Verizon 的 Samsung Galaxy S3 我已经在 Sprint 的 Evo 和 AT T 的 Galaxy Nexus 上进行了测试 没有一个给我这个错误 我想知道电话运营商是否对操作系统进
  • dask:并行模型中的共享内存

    我已经阅读了 dask 文档 博客等 但我仍然不是 100 清楚如何做到这一点 我的用例 我有大约 10GB 的参考数据 一旦加载 它们就是只读的 通常我们将它们加载到 Dask Pandas 数据框中 我需要这些参考数据来处理 丰富 修改
  • 如何在React Native应用程序中使用React Js组件?

    是否可以在React Native应用程序中使用所有ReactJS组件 如果不能 在React JS和React Native之间切换的最佳方法是什么 如果一个应用程序是使用react js完成的 是否有必要 强制 使用redux 主要有两
  • 将数据帧转换为另一个数据帧,将复合字符串单元格拆分为单独的行[重复]

    这个问题在这里已经有答案了 我希望使用 Python 将数据帧 df1 转换为 df2 我有一个使用循环的解决方案 但我想知道是否有更简单的方法来创建 df2 df1 Test1 Test2 2014 2015 2016 Present 1
  • AS3 克隆影片剪辑

    下面是我尝试克隆影片剪辑的代码 但它不起作用 如果代码工作正常 我们应该看到两个圆圈 The original MovieClip var circle MovieClip new MovieClip circle graphics beg
  • 如何从 .kube/config 中设置的当前上下文获取命名空间

    我正在尝试以编程方式在 Go 中获取 kube config 中当前上下文的命名空间 到目前为止 我尝试的是这些模块 k8s io client go tools clientcmd k8s io client go kubernetes
  • Laravel 使用 ssl 包含 css、js

    我刚刚在我的网络服务器上安装了 SSL 证书 但我的 laravel 设置遇到了一些问题 我在用着 HTML style css style css 包含 css 和 js HTML script js jquery js 虽然当我使用 h
  • 适用于 Mac OSX 的 IPython3

    我安装了 Ipython 但它在 python 2 7 5 上运行 我还安装了 python 3 3 如何进行更改以使 Ipython 在 python 3 3 而不是 2 7 5 上运行 你需要安装pip对于 Python 3 这就像访问
  • SharePoint 站点定义

    我基于发布门户创建了一个简单的站点定义 每次我想使用模板创建网站集时 都会收到以下错误消息 您选择的模板无效或无法找到 我不使用任何自定义功能 仅使用发布门户 site def 的默认功能 有什么提示吗 有一个错误日志 但它只提供了上面的信
  • 在 R 中使用 Quantmod 进行下载-保存-加载往返

    我想使用 quantmod 下载数据 将它们保存到文件中以便稍后加载 下面一段R代码 library quantmod symbols lt c DEXUSUK STLFSI GDP tmpdir lt tempdir getSymbols
  • 这些 RubyInstaller 2.4 组件有什么作用?

    几天之前 Windows 版 RubyInstaller 2 4 发布 https rubyinstaller org 2017 05 25 rubyinstaller 2 4 1 1 released html 安装后 它会问我以下问题
  • Neo4j over Bolt 协议具有非常高的延迟

    我正在将 Neo4j 用于一个项目 使用此处找到的 NET 官方 Neo4j 驱动程序 https www nuget org packages Neo4j Driver https www nuget org packages Neo4j
  • array.contains 的 jquery 版本

    jQuery 可以测试数组中是否存在对象 作为核心功能的一部分或通过可用的插件 另外 我正在寻找类似的东西array remove 这将从数组中删除给定的对象 jQuery 可以帮我处理这个问题吗 jQuery inArray http d
  • 进程已完成,退出代码 -1073741515 (0xC0000135)

    我正在运行一个 python 脚本 它曾经可以工作 现在甚至在我的另一台笔记本电脑上也可以 但不能在我当前的计算机上 我只是得到错误代码 Process finished with exit code 1073741515 0xC00001
  • 如何使用内联函数声明字典

    在将函数用作字典的元素之前 是否必须正式定义该函数 def my func print my func d function my func 我宁愿内联定义该函数 我只是想输入我想要做的事情 但是 python 语法的空白策略使得在字典中定
  • Web 应用程序的容器管理安全性

    我对容器管理的安全性完全陌生 需要一些帮助来在我的 Web 应用程序中配置它 我想限制对我的 Web 应用程序中的 jsp 的访问 这就是我在 web xml 中配置安全性的方式
  • Hbase 和 BigTable 有什么区别?

    谁能告诉我 Apache HBase 数据库和 Bigtable 之间有什么区别 或者它们是相同的吗 如果有的话 哪一个支持关系 如果他们是大搜索者 有什么区别 它们很相似 但又不一样 Bigtable 最初于 2005 年发布 但并未发布