Hbase的特点及设计思想
1.Hbase的概念及特点
(1)首先介绍Hbase的概念:Hbase是基于hdfs上,面向列的nosql的数据库。
(2)特点1:数据量大!因为Hbase的表结构的特点,可以存储上亿行、百万列的数据。
(3)特点2:数据分布稀疏,因为其不具备二维结构表的特点,所以在某一行可以出现很多列
也可以在某一行出现几个列,则在视觉上看就呈现稀疏的表结构特点。
(4)特点3:面向列!其表结构按照列族(列簇)来作为文件分割单位,一个列族为一个文件。在一个列族下,可以有很多的列!
(5)特点4:无模式!没有严格模式,正是因为其没有完整的二维表结构,所以无模式。
(6)特点5:Hbase数据库介于NoSQL和RDBMS之间,仅能通过行键(rowkey)和行键的range来检索数据。
(7)特点6:Hbase查询数据功能简单快捷,但不支持join等复杂操作。也不支持复杂的事务,只支持行级事务(可通过hive来实现多表join操作)
(8)特点7:其底层存储的数据类型为字节数组(byte【】),底层存储的都是字节数组。
(9)特点8:主要用来存储结构化和半结构化的松散数据。
2.Hbase的设计思想
Hbase的所有表都存在hdfs上。
在查询时,提前对行键创建索引,在低版本的Hbase中还会有二级索引,又叫高级索引,但是高版本没有。查询的时候,先查询高级索引表,再查询低级索引表,最后在低级索引表中确定数据的存储位置,最终定位数据的真实存储。最后一句话概括其查询机制:跳表结构+布隆过滤器!