欢迎投稿

今日深度:

HBase学习笔记,

HBase学习笔记,


HBase简介

1) HBase定义
HBase是一种分布式、面向列的开源数据库。、具有良好的扩展性、低写入/查询延迟的特点。

2)HBase与传统的关系数据库的区别:

 

HBase

RDB

数据类型

简单的,存储为未经解释的字符串

丰富的数据类型和存储方式

数据操作

只有简单的插入、查询、删除和清空等

丰富的操作,如:多表连接

存储模式

基于列存储

基于行模式

数据索引

只有行键索引

多个索引

数据维护

生成新版,旧版仍保留

新值会替换旧值

可伸缩性

可扩展性强

很难扩展

3)HBase的功能组件

l  库函数:链接到每个客户端

l  一个Master主服务器

l  许多个Region服务器

HBase的三层结构

 


4)Hbase架构

                                                                                                 

 Region服务器工作原理

—  Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求

a.    用户读写数据过程

用户写入数据时,被分配到相应Region服务器去执行

用户数据首先被写入到MemStore和Hlog中

只有当操作写入Hlog之后,commit()调用才会将其返回给客户端

当用户读取数据时,Region服务器会首先访问MemStore缓存,如果找不到,再去磁盘上面的StoreFile中寻找

b.   缓存的刷新

系统会周期性地把MemStore缓存里的内容刷写到磁盘的StoreFile文件中,清空缓存,并在Hlog里面写入一个标记

每次刷写都生成一个新的StoreFile文件,因此,每个Store包含多个StoreFile文件

每个Regiom服务器都有一个自己的Hlog文件,每次启动都检查该文件,确认最后一次执行缓存刷新操作之后是否发生新的写入操作

c.    StorreFile的合并

每次刷写都生成一个新的StoreFile,数量太多,影响查找速度

调用Store.compact()把多个合并成一个

合并操作比较耗费资源,只有数量达到一个阈值才启动

www.htsjk.Com true http://www.htsjk.com/hbase/41658.html NewsArticle HBase学习笔记, HBase简介 1) HBase定义 HBase是一种分布式、面向列的开源数据库。、具有良好的扩展性、低写入/查询延迟的特点。 2)HBase与传统的关系数据库的区别:   HBase RDB 数据类...
相关文章
    暂无相关文章
评论暂时关闭