码迷,mamicode.com
首页 > 其他好文 > 详细

HBase权威指南读书笔记(一)

时间:2017-08-26 23:29:59      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:hbase   取数据   大小   ase   file   客户   读书   笔记   二分查找   

第一章HBase简介

1.  HBase即hadoop数据库,HBase是一个分布式的、持久的、强一致性的存储系统,具有近似最优的写性能和出色的读性能。

2.  HBase并不是一个列式存储的数据库,但它利用了磁盘上的列式存储格式。传统的列式存储数据库适合实时存取数据的场景,HBase适合键值对的数据存储,或者有序的数据存储。

3.  一行由若干列组成,若干列又构成了一个列族(column family)。列族数量只限于几十,实际上更少。而列的数量没有限制,一个列族里面可以有数百万个列,列值也没有类型和长度的规定。

4.  HBase中扩展和负载均衡的基本单元称为region,region本质上是以行键排序的连续存储的区间。一张表初始的时候只有一个region,当插入的表数据增大,region大小超过配置值,从中间键处这个region拆分成两个大致相等的子region。每一个region只能由一台region服务器加载。每台服务器最佳数量差不多是10-1000,但每个region的最佳大小是1GB-2GB。

5.  HBase数据存储文件Hfile,HFile中存储的是经过排序的键值映射结构。文件内部由连续的块组成,块的索引信息存储在文件的尾部。每个HFile都有一个块索引,通过二分查找检索信息。

6.  每次更新数据,都会先将数据记录在提交日志(commit log)中,在HBase中这叫做预写日志(write-ahead log,WAL),然后才会将数据写入内存的memstore中。当内存中写入的数据量达到了一定数量,系统就会将这些数据移除内存作为HFile文件刷写到磁盘中。

7.  因为存储文件是不可改变的,所以无法通过移除键值对来简单删除值。可行的办法是做个删除标记(delete marker),使得客户端读不到实际值。

8.  每次读取的数据包括两个部分,即内存中memstore和磁盘上的存储文件。

HBase权威指南读书笔记(一)

标签:hbase   取数据   大小   ase   file   客户   读书   笔记   二分查找   

原文地址:http://www.cnblogs.com/xz-blogs/p/7436567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!