HBase 的原型是 Google 的 BigTable 论文,受到了该论文思想的启发,目前做为 Hadoop 的 子项目来开发维护,用于支持结构化的数据存储。html
官方网站:hbase.apache.org程序员
2006 年 Google 发表 BigTable 白皮书apache
2006 年开始开发 HBase缓存
2008 年北京成功开奥运会,程序员默默地将 HBase 弄成了 Hadoop 的子项目负载均衡
2010 年 HBase 成为 Apache 顶级项目oop
HMaster网站
RegionServer日志
组件htm
HBase 的修改记录,当对 HBase 读写数据的时候,数据不是直接写进磁盘,它会在内存中 保留一段时间(时间以及数据量阈值能够设定)。但把数据保存在内存中可能有更高的几率 引发数据丢失,为了解决这个问题,数据会先写在一个叫作 Write-Ahead logfile 的文件中, 而后再写入内存中。因此在系统出现故障的时候,数据能够经过这个日志文件重建。内存
这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。
HFile 存储在 Store 中,一个 Store 对应 HBase 表中的一个列族。
顾名思义,就是内存存储,位于内存中,用来保存当前的数据操做,因此当数据保存在 WAL 中以后,RegsionServer 会在内存中存储键值对。
Hbase 表的分片,HBase 表会根据 RowKey 值被切分红不一样的 region 存储在 RegionServer 中, 在一个 RegionServer 中能够有多个不一样的 region。
HBase原理图:
很差意思各位, 若是你们想看的话, 请登陆apache官方,
当前地址下, 查看中文文档, 超全~