![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HBase
暁洣
读奇书,做奇事,交奇友,做个奇女子
展开
-
Hbase原理解读(一)--HRegion的分裂及内部结构
HBase概述 HBase是基于Hadoop数据库工具,来源于Google三篇论文之一 BIGTABLE,APACHE做了开源的实现就是 HBASE 技术。 HBase是一种 NoSQL的 非关系型数据库,其不符合关系型数据库的范式,适合存储半结构化、 非结构化的数据。 适合存储稀疏的数据 空的数据不占用空间 面向列(族)进行存储。 提供实时的增删改查的能力,是一种真正的数据库产品 可以存储海量...原创 2019-08-13 15:51:33 · 2446 阅读 · 1 评论 -
Hbase原理解读(二)-- Hfile的文件结构
HFile的文件结构 在网上找了一个随处可见的图片来辅助理解: 一个StoreFile分为DataBlock ,MetaBlock ,FileInfo, DataIndex, MetaIndex, Trailer。其中: - Data Blocks 保存表中的数据,这部分的数据可以被压缩。 DataBlocks中存放了大量的DataBlock,其中以键值对(key-value)的形式保存着表中...原创 2019-08-13 16:05:43 · 347 阅读 · 0 评论 -
Hbase原理解读(三)-- Hbase的读写原理
HBase的写数据流程 当客户端联系HBase要写入一条数据时,根据表名和行键确定要操作的是哪个HRegion,找到存储着该HRegion的HRegionServer,对该HRegion进行操作,根据要操作的列族确定要操作的store,向该sotre中的memStore中写入当前数据,并在HLog中记录操作日志,之后返回表示写入成功。 内存满了怎么办 当不停的写入数据,将store中的memSto...原创 2019-08-13 16:19:00 · 257 阅读 · 0 评论 -
Hbase原理解读(四)-- HBase的HRegion寻址
在Hbase中存在一张特殊的meta表,其中存放着HBase的元数据信息,包括,有哪些表,表有哪些HRegion,每个HRegion分布在哪个HRegionServer中。meta表很特殊,永远有且仅有一个HRegion存储meta表,这个HRegion存放在某一个HRegionServer中,并且会将这个持有meta表的Region的HRegionServer的地址存放在Zookeeper中me...原创 2019-08-13 16:22:22 · 568 阅读 · 0 评论 -
Hbase原理解读(五)-- Hbase的系统结构
Hbase的系统架构 HBase中的主节点叫HMaster,从节点叫HRegionServer。客户端叫Client。Zookeepr为hbase提供集群协调。 先放一张我在网上找到的一个图片: Client客户端 客户端用来访问hbase,同时保留一些缓存信息提升效率。 zookeeper 保证任何时候Hbase的集群只有一个HMaster。 监控regionServer的状态,将其上线...原创 2019-08-14 09:49:12 · 508 阅读 · 0 评论 -
Hbase原理解读(六)-- HBase表设计
这是HBase原理解读系列的最后一篇。在对HBase进行原理总结的时候遇到的一些常见问题进行总结。 1. 为什么hbase可以很快? HBase的内部有memStore做缓冲,读写都是有限基于内存实现的。所以读写的效率高。 HBase中存储的数据是按照行键的字典顺讯进行排序的,所以查询效率高。 HBase中存储的数据从水平方向上切分为若干个HRegion,进行分布式的存储,所以提高效率。 2....原创 2019-08-14 11:15:07 · 256 阅读 · 0 评论 -
Hbase原理解读(七)-- Hbase常见问题总结
HBase表设计概述 HBase的表设计将会直接影响:HBase表使用的效率及便利性,并且 HBase的表的结构一旦确立下来之后很难更改,所以在创建HBase表时,需要对表结构进行设计。 HBase中的表设计主要设计的是:行键 和 列族 HBase表中的列族设计 在设计HBase表时,列族不宜过多,越少越好,官方推荐不要超过3个。 经常要一起查询的数据不要放在不同的列族中,尽量减少跨列族的数据访...原创 2019-08-14 15:02:30 · 316 阅读 · 0 评论