HBase的一些要点

以下五点是 HBase 这个 NoSQL 数据库的要点

① 高并发,以扩展,解决海量数据集的随机实时增删改查

② HBase 本质依然是 Key-Value 数据库,查询数据功能很简单,不支持 join 等复杂操作(可

通过 Hive 支持来实现多表 join 等复杂操作)

③ 不支持复杂的事务,只支持行级事务

④ HBase 中支持的数据类型:byte[](底层所有数据的存储都是字节数组)

⑤ 主要用来存储结构化和半结构化的松散数据。

结构化:数据结构字段含义确定,清晰,典型的如数据库中的表结构

半结构化:具有一定结构,但语义不够确定,典型的如 HTML 网页,有些字段是确定的(title),有些不确定(table)

非结构化:杂乱无章的数据,很难按照一个概念去进行抽取,无规律性

HBase 中的表特点

1、大:一个表可以有上十亿行,上百万列

2、面向列:列可以灵活指定,面向列(族)的存储和权限控制,列(簇)独立检索。

3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。

4、无严格模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,

同一张表中不同的行可以有截然不同的列

关于存储系统的模式介绍:

读模式:在读取数据的时候做模式校验,比如数据仓库 Hive

写模式:在写入数据进入存储系统的时候做模式校验,比如 RDBMS

表结构

1、RDBMS 完全可以抽象成是一张二维表格,表由行和列组成。由行和列确定一个唯一的值

2、HBase 本质是 key-value 数据库,key 是行健 rowkey,value 是所有真实 key-value 的集合

3、HBase 也可以抽象成为一张四维表格,四维分别由行健 RowKey,列簇 Column Family,列

Column 和时间戳 Timestamp 组成。

4、其中,一张 HBase 的所有列划分为若干个列簇 (Column Family)

猜你喜欢

转载自blog.csdn.net/u012580143/article/details/84568320
今日推荐