一,数据模型
- namespace:多表分到一个组里管理的时候用到。数据库中表 很多的时候才用到
- Table:由多个列族组成,有数据属性,eg:超时时间TTL,压缩算法(conpression),都在列族中定义,
- Row:多列组成,by列族分类。
- Culumn Family:列族是多个列的集合,HBase会把一个列族的列放到同一个服务器上,提高存取性能。
- 批量管理一堆列,建表定义列族而非列。
- Cell:列中的每个数据叫做cell,多版本。
- TimeStamp:版本号
rowkey严格按照字典排序。
表命名空间:
作用:把多个属性相同的业务领域的表分成一个组,一个表可以自由选择是否有命名空间(create 'mynamespace:mytable')
二,HBase是怎么存储数据的?
既然是数据库,肯定某种形式存储在应硬盘上。
2.1宏观架构
hbase集群有一个Master(HA:多个master),多个region server组成,
Master:负责启动时非陪region到regionserver,之心个管理操作,数据的读取写入和它没关系。也不能宕机久,建表,修