HBase 是一个开源的、非关系型的分布式数据库(NoSQL),它建立在 Hadoop 文件系统(HDFS)之上。HBase 旨在存储海量的稀疏数据集,这种数据集通常是由用户界面事件、消息系统、传感器设备等产生的时间序列数据。它是 Google BigTable 的开源实现,由 Apache 软件基金会管理。HBase 能够提供实时读写访问大规模数据集的能力,并能够确保数据的可伸缩性和弹性。
HBase 的核心特性
- 列存储:与传统的关系数据库不同,HBase 数据以列族的形式存储,适合处理大量不同类型的属性。
- 可扩展性:HBase 设计为在廉价的硬件上线性扩展,能够处理 PB 级别的大数据。
- 高可用性和故障恢复:通过使用 HDFS 的副本机制,即使在节点故障时也能保证数据的可用性和一致性。
- 实时访问:支持对数据的实时读写访问,且访问速度非常快。
- 数据一致性:虽然 HBase 是一个 NoSQL 数据库,但它提供了行级别的原子操作。
- 版本控制:HBase 的每个单元格都保存数据的多个版本,版本号通常是时间戳。
应用场景
- 大规模数据集的实时随机访问:适用于需要从大量数据中快速检索特定信息的场景。
- 写入密集型应用:例如事件记录系统、消息服务等。
- 时序数据存储