📜  Apache HBase

📅  最后修改于: 2021-09-08 16:01:32             🧑  作者: Mango

先决条件 – Hadoop 简介
HBase是一种类似于谷歌大表的数据模型。它是一个开源的分布式数据库,由Apache软件基金会开发,用Java编写。 HBase 是我们 Hadoop 生态系统的重要组成部分。 HBase 运行在 HDFS(Hadoop 分布式文件系统)之上。它可以存储从 TB 到 PB 的海量数据。它是面向列和水平可扩展的。

图 – HBase 的历史

HBase 的特点——

  1. 它可以跨多个节点线性扩展,也可以模块化扩展,因为它跨多个节点划分。
  2. HBase 提供一致的读写。
  3. 它在一个读或写过程中提供原子读写手段,防止所有其他进程执行任何读或写操作。
  4. 它为客户端访问提供了易于使用的Java API。
  5. 它支持用于支持 XML、Protobuf 和二进制数据编码选项的非 Java 前端的 Thrift 和 REST API。
  6. 它支持用于实时查询和大量查询优化的块缓存和布隆过滤器。
  7. HBase 提供 Region Servers 之间的自动故障支持。
  8. 它支持使用 Hadoop 指标子系统将指标导出到文件。
  9. 它不会强制您的数据内的关系。
  10. 它是一个用于存储和检索随机访问数据的平台。

Facebook Messenger 平台使用的是 Apache Casandra,但它在 2010 年 11 月从 Apache Cassandra 转移到了 HBase。Facebook 试图构建一个可扩展且强大的基础设施,以将消息、电子邮件、聊天和 SMS 等服务处理成实时对话,这就是为什么HBase 最适合这种情况。

RDBMS 与 HBase –

  1. RDBMS 主要是面向行的,而 HBase 是面向列的。
  2. RDBMS 具有固定模式,但在 HBase 中,我们也可以在运行时扩展或添加列。
  3. RDBMS 适用于结构化数据,而 HBase 适用于半结构化数据。
  4. RDBMS 针对连接进行了优化,但 HBase 并未针对连接进行优化。