深入浅出了解HBase
关于搭建HBase高可用集群的图文教程,可参考我的另一篇博文—— 安装并配置HBase集群(5个节点)
。
HBase简介
HBase是Google BigTable的开源实现,Google公司很多数据如搜索、相册、导航数据都保存在BigTable中,2003年Google发布了该技术后,社区实现了HBase。
架构
HBase在Hadoop中扮演者数据库的角色,但HBase要借助底层的HDFS来存储数据,自身并没有实现文件系统,或者说HBase有点像mysql一样,支持热插拔的文件系统(HBase既支持HDFS,也支持本地文件系统,就像Mysql支持InnoDB、MyISM等等)。而上图中包围着HBase的就是计算框架(MapReduce和Spark),并且MapReduce正逐步被Spark所替代。
HBase是什么样的数据库?关键是数据模型
HBase是一个稀疏、多维度、排序的映射表。
关键要素:
- 行键
- 列族
- 列限定符
- 时间戳
在Mysql中,我们操作的是一行行的数据;而在HBase中,我们操作(写数据、读数据)的是单元格。
什么是单元格
通过行、列族、列限定符确定的是一个单元格。