什么是HBase
Apache HBase 是一个开源的、非关系型、分布式的数据库,它以 Google 的 Bigtable 为模型,用 Java 编写。它是作为 Apache 软件基金会的 Apache Hadoop 项目的一部分开发的,运行在 HDFS(Hadoop 分布式文件系统)之上,为 Hadoop 提供了类似 Bigtable 的功能。HBase 的目标是托管非常大的表——数十亿行乘以数百万列——在商用硬件集群之上。当需要对大数据进行随机、实时的读/写访问时,可以使用 Apache HBase。
核心特性
- 线性和模块化可伸缩性: 可以通过增加节点来线性扩展。
- 严格一致的读写: 保证了操作的原子性和一致性。
- 自动和可配置的表分片: 当表变得过大时,HBase 会自动将其分片成更小的区域。
- RegionServer 之间的自动故障转移: 当 RegionServer 失败时,Master 会将它所服务的区域重新分配给其他可用的 RegionServer。
- 方便的 Java API: 提供易于使用的 Java API 进行客户端访问。
- 支持 MapReduce: 可以作为 Hadoop MapReduce 作业的输入和输出。
- 实时查询的块缓存和布隆过滤器: 通过块缓存和布隆过滤器优化查询性能。
- 服务器端过滤器: 通过查询谓词下推来优化性能。
- Thrift/REST 网关: 支持 XML、Protobuf 和二进制数据编码选项。
- 基于 JRuby 的 Shell (JIRB): 提供了一个可扩展的命令行工具。
2025/11/4...大约 4 分钟