Apache HBase
一个在 Hadoop Distributed File System 上运行的列式存储数据库管理系统,是 Apache Hadoop 的主要组件。
预约咨询
Abstract technological background made of different element printed circuit board. Depth of field effect and bokeh.
什么是 HBase?

HBase 是一个在 Hadoop Distributed File System (HDFS) 上运行的列式存储非关系数据库管理系统。 HBase 提供了存储稀疏数据集的容错方式,这类数据集在许多大数据用例中十分常见。 它非常适合实时数据处理或者对大量数据的随机读取/写入访问。

关系数据库系统不同,HBase 不支持 SQL 一类的结构化查询语言;事实上,HBase 根本不是关系数据存储库。 HBase 应用程序以 Java™ 编写,更像是一款典型的 Apache MapReduce 应用程序。 HBase 确实支持以 Apache Avro、REST 和 Thrift 编写应用程序。

HBase 系统设计为线性扩展。 它包括一系列由行和列组成的标准表,更像是传统数据库。 每个表必须有一个定义为主键的元素,且所有对 HBase 表的访问尝试都必须使用此主键。

Avro 作为组件,支持一系列丰富的原始数据类型(包括数字、二进制数据和字符串)以及多种复杂类型(包括数组、映射、枚举和记录)。 对于数据,也可以定义排序顺序。

HBase 依赖于 zookeeper 实现高性能协调。 zookeeper 内置到 HBase 中,但如果您正在运行生产集群,那么建议您配备一个与 HBase 集成的专用 ZooKeeper 集群。

HBase 非常适合与 Hive 结合使用,后者是用于大数据批处理的查询引擎,以支持容错性大数据应用程序。

HBase 的一个示例

一个 HBase 列代表对象的一个属性;如果该表存储的是您所在环境中服务器的诊断日志,则每行可能是一条日志记录,而一个典型列 可能是编写日志记录时的时间戳记,也可以是记录源自的服务器名称。

HBase 支持将许多属性组合到一个列族中,这样列族中的元素就会全部存储在一起。 这与行式存储关系数据库不同,其中指定行的所有列均存储在一起。 使用 HBase 时,必须预定义表模式,并指定列族。 然而,新列可随时添加到列族中,因此该模式十分灵活,且能适应不断变化的应用程序需求。

就像 HDFS 有一个 NameNode 和从属节点,而 MapReduce 有 JobTracker 和 TaskTracker 从属节点,HBase 的构建理念类似。 在 HBase 中,主节点管理集群,区域服务器存储表的各个部分并对数据执行处理。 同样,一些企业会对 HDFS 心存忧虑,因为 NameNode HBase 可能会因其主节点的丢失而丧失可用性。

与专家互动

安排一次与 IBM 大数据专家的免费的一对一通话,了解我们如何帮助您在 Apache Hadoop 生态系统间扩展数据科学和机器学习。

预约咨询
相关解决方案
使用 IBM 和 Cloudera 的大数据解决方案推动更好、更快的分析

IBM 和 Cloudera 合作提供了一个行业领先的企业级 Hadoop 分发版,包括产品和服务的集成生态系统,以支持更快的大规模分析。

与 IBM 一起探索大数据机会
资源 数据仓库的演变:卓越分析的基础

探索业内最佳的数据管理方法,以及公司如何对数据技术划分优先级,以推动发展,提高效率。

在宣传炒作下真正认清大数据

阅读对下一代数据架构的这一实用简介。 其中引入了云的角色以及 NoSQL 技术,讨论了安全、隐私和监管的实际情况。 (PDF, 6.2 MB)

了解最新资讯,保持联系
探索 Hadoop 博客 认知课程