什么是HBase
HBase是建立在Hadoop上的开源和排序映射数据。它是面向列的并且可以水平扩展。
它是基于Google的Big Table的。它有一组数据表,可以以键值格式存储数据。HBase非常适合于在大数据使用案例中非常常见的稀疏数据集。HBase提供的API可以在几乎任何编程语言中开发。它是Hadoop生态系统的一部分,可以对Hadoop文件系统中的数据进行随机实时读/写访问。
为什么选择HBase
- RDBMS在数据变大时变得非常缓慢。
- 期望数据高度结构化,即能够适应明确定义的模式。
- 模式的任何更改可能需要停机时间。
- 对于稀疏数据集,维护NULL值的开销太大。
HBase的特点
- 水平可扩展:可以随时添加任意数量的列。
- 自动故障切换:自动故障切换是一种资源,允许系统管理员在系统受损时自动切换数据处理到备用系统。
- 与Map/Reduce框架集成:所有命令和Java代码在内部实现了Map/Reduce来执行任务,并且它是建立在Hadoop分布式文件系统之上的。
- 稀疏,分布式,持久化,多维排序映射,其索引由行键,列键和时间戳组成。
- 常被称为键值存储或以列族为导向的数据库,或存储版本化的映射。
- 从根本上说,它是一个具有随机访问功能的数据存储和检索平台。
- 它不关心数据类型(可以将一个整数存储在一行中,将一个字符串存储在另一行的相同列中)。
- 它不强制约束数据之间的关系。
- 它设计用于在由廉价硬件构建的计算机集群上运行。