Hbase教程(一) Hbase入门教程
1 Hbase入门教程
HBase是一个分布式的、面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
HBase在Hadoop生态位置图1-1
1.1 Hbase概念术语
1、行键Row Key:主键是用来检索记录的主键,访问hbasetable中的行。
2、列族Column Family:Table在水平方向有一个或者多个ColumnFamily组成,一个ColumnFamily中可以由任意多个Column组成,即ColumnFamily支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。
3、列column:由Hbase中的列族ColumnFamily + 列的名称(cell)组成列。
4、单元格cell:HBase中通过row和columns确定的为一个存贮单元称为cell。
5、版本version:每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。
6、Hbase数据结构图:
rowkey(行键) |
product |
|
food(列族) |
|
name(列标识符) |
price(列标识符) |
name |