NoSQL-HBase

2019-07-11  本文已影响0人  Wilson_wad

HBase简介

Apache Hbase是Hadoop数据库,一个分布式、可扩展、大数据存储。

当你需要随机地实时读写大数据时使用Hbase。它的目标是管理超级大表-数十亿行X数百万列。

Hbase是一个开源的、分布式的、带版本的、非关系型数据库,模仿谷歌的BigTable。BigTable使用Google File System作为分布式数据存储,同理Hbase使用HDFS。

总的来说HBase是一个NoSQL的列式储存的数据库

NoSQL = Not Only SQL,而不是No SQL

HBase基本元素

HBase特性

Hbase中,只要确定了列族,表(Table)就确定了

把传统数据库中的表/行/列的概念用在Hbase中不是一个有帮助的类比。相反可以把Hbase的表想象成一个多(两)维Map(Map套Map)。列族是第一维,列修饰符是第二维

对于数据的CRUD,归根结底就是标识进行定位,取出其中的业务数据。就好像C++,我们顺着指针找到变量,再读取变量中的值。

[标识]+[业务数据]

对比关系型数据库,我们不难发现:

所以列式储存这种方法,实际上是从关系型数据库的行式储存演变而来,命名也有相似之处

例如:行键相同的多列数据组合在一起,叫做一行。列也相当于行式储存的一列。

列式储存相比于行式储存的优势在于对于结构的弱化,使得数据库更加的灵活,既可以灵活的增加/减少属性,也可以节省空白空间(关系型数据库哪怕没有数据位置还是得占着)。列式储存将关系型数据库的列拆分开来,灵活结合,传统关系型数据库操作流程是一行多列。其实就相当于原来关系型数据库的一行,N个属性,拆分成了列式存储的N行(类似于矩阵转置?)弱化结构,更加的灵活。

Reference

[1] 什么是列式存储 | Java3y

上一篇 下一篇

猜你喜欢

热点阅读