什么是 Apache HBase?

工作时看着同事展示的数字平板电脑的男性

什么是 HBase?

HBase 是面向列的非关系数据库管理系统,在 Hadoop 分布式文件系统 (HDFS) 上运行,后者是 Apache Hadoop 的主要组件。

HBase 提供一种可容错地存储稀疏数据集的方式,此类数据集在许多大数据用例中都很常见。它非常适合实时数据处理或随机读/写访问大量数据。

关系数据库系统不同,HBase 不支持 SQL 等结构化查询语言;实际上,HBase 根本不是关系数据存储。HBase 应用程序是用 Java™ 编写的,与典型的 Apache MapReduce 应用程序非常相似。HBase 支持使用 Apache Avro、REST 和 Thrift 编写应用程序。

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

Avro 作为一个组件,可支持一组丰富的原始数据类型,包括:数值、二进制数据和字符串;以及大量复杂类型,包括数组、映射、枚举和记录;还可以为数据定义排序顺序。

HBase 依靠 ZooKeeper 进行高性能协调。ZooKeeper 内置于 HBase 中,但如果您正在运行一个生产集群,建议拥有一个与 HBase 集群集成的专用 ZooKeeper 集群。

HBase 与大数据批处理查询引擎 Hive 配合良好,可实现容错大数据应用。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

HBase 示例

HBase 列代表对象的属性;如果该表存储环境服务器的诊断日志,则每一行可能都是一个日志记录,而典型列可能是写入日志记录的时间戳,或记录来源的服务器名称。

HBase 允许将许多属性分组到列族中,这样列族的元素就全部存储在一起。这与面向行的关系数据库不同;在关系数据库中,给定行的所有列都存储在一起。使用 HBase,您必须预定义表架构并指定列族。但是,可以随时将新列添加到族中,从而使架构灵活并能够适应不断变化的应用程序要求。

正如 HDFS 具有 NameNode 和从节点,MapReduce 具有 JobTracker 和 TaskTracker 从节点一样,HBase 也是基于类似的概念构建。在 HBase 中,主节点管理集群,区域服务器存储表的各个部分并对数据执行处理。由于 NameNode 的可用性,HDFS 存在一些企业应用方面的担忧,与之相似,HBase 对其主节点的丢失也很敏感。

AI Academy

数据管理是生成式 AI 的秘诀吗?

深入了解为什么高质量数据对于成功使用生成式 AI 至关重要。

相关解决方案
数据管理软件和解决方案

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

深入了解数据管理解决方案
IBM watsonx.data™

watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)来扩展分析和 AI。

了解 watsonx.data
数据和分析咨询服务

通过 IBM® Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
采取下一步行动

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

深入了解数据管理解决方案 了解 watsonx.data