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 配合良好,可实现容错大数据应用。
HBase 列代表对象的属性;如果该表存储环境服务器的诊断日志,则每一行可能都是一个日志记录,而典型列可能是写入日志记录的时间戳,或记录来源的服务器名称。
HBase 允许将许多属性分组到列族中,这样列族的元素就全部存储在一起。这与面向行的关系数据库不同;在关系数据库中,给定行的所有列都存储在一起。使用 HBase,您必须预定义表架构并指定列族。但是,可以随时将新列添加到族中,从而使架构灵活并能够适应不断变化的应用程序要求。
正如 HDFS 具有 NameNode 和从节点,MapReduce 具有 JobTracker 和 TaskTracker 从节点一样,HBase 也是基于类似的概念构建。在 HBase 中,主节点管理集群,区域服务器存储表的各个部分并对数据执行处理。由于 NameNode 的可用性,HDFS 存在一些企业应用方面的担忧,与之相似,HBase 对其主节点的丢失也很敏感。
设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。
watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)来扩展分析和 AI。
通过 IBM® Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。