小记--------hbase数据库介绍及存储方式

Posted yzqyxq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小记--------hbase数据库介绍及存储方式相关的知识,希望对你有一定的参考价值。

一、Hbase基本原理

1hbase基本介绍

HBASE是一个分布式的,面向列的开源数据库。Hbase的存储是基于hadoop的。因为Hadoop实现了一个分布式文件系统(HDFS),基于hadoop意味着hbase与生俱来的超强的扩展性和吞吐量,hbase采用的是keyvalue的存储方式。意味着即使随着数据量增大,也几乎不会导致查询的性能下降。

 技术图片

 

 

2、hbase存储方式

hbase将数据按列簇分别存储,而并非简单的列式存储;首先了解几个概念:行式存储、列式存储、列簇式存储。

 

A.行式存储:会将一行数据存储在一起,一行数据写完之后再接着写下一行数据。eg:mysql等关系型数据库;

行式存储在获取一行数据时很高效,但是如果某个查询只需要读取表中指定列对应的数,那么行式存储会先取出一行行的数据,再在每一行数据中截取待查找目标列。因此会导致大量的内存占用

 

B.列式存储:列式存储理论上会将一列数据存储在一起,不同列的数据分别接种存储。eg:kudu 、 parquet on HDFS;

列式存储查找与行式存储,恰恰相反,对于只查找某些列数据的请求非常高效,但是对于获取一行的请求就比较差; 

因为同一列的数据通常都具有相同的数据类型,因此列式存储具有天然的高压缩特性

 

C.列簇式存储:列簇式存储介于行式存储和列式存储之间;如果一张表只设置一个列簇,这个列簇包含所有的列,hbase中一个列簇的数据是存储在一起的,因此这种设计模式就等同于行式存储;如果一张表的每一列都属于一个唯一的列簇,那么就相当于列式存储。

以上是关于小记--------hbase数据库介绍及存储方式的主要内容,如果未能解决你的问题,请参考以下文章

HBase介绍及简易安装(转)

impala 小记

hbase数据原理及基本架构

HBase基础架构及原理

HBase基本架构及原理

「大数据」(三十九)HBase之数据模型及表结构设计