Hbase列式存储HBASECOLUMNARSTORAGE目录行式存储列式存储行列对比HBase1行式存储行式存储传统的数据库是关系型的,且是按行来存储的
如下图点击此处添加标题其中只有张三把一行数据填满了,李四王五赵六的行都没有填满行式存储因为这里的行结构是固定的,每一行都一样,即使你不用,也必须空着在那里,而不能没有
来张形象的图:不管你坐或不坐,座位都在那里,不离不弃
2列式存储列式存储初次看列式存储稍微有点懵,下面给出行存与列存的转换:原来张三的一列(单元格)数据对应现在张三的一行数据
原来张三的六列数据变成了现在的六行
原来的六列数据是在一行,所以共用一个主键(即张三)
现在变成了六行,每行都需要一个主键(不然不知道这行数据是谁的),所以原来的主键(即张三)重复了六次
为了与传统的区别,新型数据库叫做非关系型数据库,是按列来存储的
如图:列式存储如图:列式存储由于原来的列变为了现在的行,如果有需要就加一行,没需要就不加,不会造成空间浪费
来一张形象的图:摆渡车内部就是一个大平板,你要站便站,我给你空间,你不站便不站,还给我空间
3行列对比行列对比01030402行式存储一行数据只需一份主键,列式存储一行数据需要多份主键
行式存储倾向于结构固定,列式存储倾向于结构弱化
(行式存储相当于套餐,即使一个人来了也给你上八菜一汤,造成浪费;列式存储相等于自助餐,按需自取,人少了也不浪费)行式存储更像一个JavaBean,所有字段都提前定义好,且不能改变;列式存储更像一个Map,不提前定义,随意往里添加key/value行式存储存的都是业务数据,列式存储除了业务数据外,还要存储列名
4HBaseHBase有了前面的介绍,我们可以进入HBase了
HBase的目标是管理超级大表-数十亿行*数百万列
Hbase是一个开源的、分布式的、带版本的、非关系型数据库,模仿谷歌的BigTa