1 Star 0 Fork 54

chenzhenguo / Java-Interview-Advanced

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
145.md 1.66 KB
一键复制 编辑 原始数据 按行查看 历史
leelovejava 提交于 2020-06-28 09:22 . update nosql之hbase

145、HBase的数据模型是什么样的?(下)

《007_HBase的数据模型是什么样的?(下)》

rowkey order:base order:detail order:extent

order_1_110 xxx xxx

order_1_111 x1(t1); x2(t2) xxx xxx

每一行数据都有一些列族,就是column family,每个列族都包含一些列,每个列族都有一系列的存储属性,比如说是否把列族里的列值缓存在内存里,列族里的数据如何进行压缩,类似这种

一个表里有固定的一些列族,每一行都有这些列族,当然有可能你一行数据在某个列族里没存什么东西,是有可能的

然后就是列,每个列就是一个列族+分号+列限定符(column qualifier),比如说列族是order,列可能就是order:base,或者是order:detail

每个表的列族是固定的,但是每一行数据有哪些列是不固定的,插入数据的时候可以动态可以给这行数据设定多个列,每个列都是属于一个列族,就是一个列族+分号+列限定符的形式,就可以确定一个列

时间戳,timestamp,每一行的每个列的值写入的时候就会有一个时间戳,时间戳就代表了这一行这个列的某个版本的值,当然这个timestamp你也可以自己插入的时候指定一个timestamp也是ok的

单元格,也就是cell,其实就是一行的某个列族下的某个列(由列限定符来确定)的某个timestamp版本对应的值,说白了就这么个东西,在hbase里,每一行的每个列的值,是有多个版本的,每个版本都是一个cell

Java
1
https://gitee.com/chenzhenguo/Java-Interview-Advanced.git
git@gitee.com:chenzhenguo/Java-Interview-Advanced.git
chenzhenguo
Java-Interview-Advanced
Java-Interview-Advanced
master

搜索帮助