HBase源码分析
文章平均质量分 79
xiangel
这个作者很懒,什么都没留下…
展开
-
HBase源码分析之如何找到region location
通过client的源码分析,我们发现每次建立连接前需要先找到rowkey所属region的regionserver。本篇来分析一下这个找到regionserver的整个流程。背景说明先我们原创 2016-12-12 10:47:48 · 2865 阅读 · 0 评论 -
HBase源码分析之Client端操作处理
hbase version 1.1.5使用HBase的服务要先建立与HBase服务器的连接,这里我们从hbase client的建立连接开始HBase源码分析的旅程。 先看一段hbase连接的代码Connection connection = ConnectionFactory.createConnection(config);Table table = connection.getT原创 2016-12-10 10:27:17 · 3139 阅读 · 0 评论 -
HBase源码分析之regionserver写入流程分析
先做一系列的检查1、检查row值是否在region的范围内2、检查region的状态是否不为readonly3、检查region的memstoresize是否超过blockingMemStoreSize,超过需要先进行flush处理。检查通过后会执行写入的操作,核心的写入操作见HRegion.doMiniBatchMutation方法。具体的处理流程如下:1、做些记录级原创 2016-12-14 17:57:27 · 934 阅读 · 0 评论 -
HBase源码分析之BlockCache一:综述及LruBlockCache的实现
BlockCache综述读取数据时,如果每次都是访问hfile,这样其性能是很低的,特别是在随机小数据量读的场景下。为提高IO性能,hbase提供了缓存的机制BlockCache。根据帕列托法则(二八法则),我们并不需要将所有数据都进行缓存,能保证热点数据(20%)缓存起来即可。这样就可以大大提高读取的效率。 BlockCache是RegionServer级别的,即每个RegionServer会有原创 2016-12-31 19:30:46 · 2786 阅读 · 0 评论 -
HBase源码分析之regionserver读取流程分析
数据的读取包括Get和Scan2种,通过get的代码可以看出实际也是通过转换为一个Scan来处理的。//HRegion.javapublic List<Cell> get(Get get, boolean withCoprocessor) throws IOException { List<Cell> results = new ArrayList<Cell>(); ...原创 2016-12-24 11:23:29 · 1714 阅读 · 0 评论 -
HBase源码分析之BlockCache二:BucketCache
前面一篇 HBase源码分析之BlockCache一:综述及LruBlockCache的实现,分析了各种BlockCache及其特点,本篇将分析BucketCache的实现,以及将LruBlockCache和BucketCache组合在一起的CombinedBlockCache。BucketCache先来看看BucketCache中的一些重要的属性 // BucketCache.java //原创 2017-01-07 23:47:51 · 2469 阅读 · 0 评论 -
HBase源码分析之memstore的实现及flush处理流程
memstore作为hbase数据写入的核心部分,保障了数据的高效的写入,那其具体是怎么实现的?使用了哪些优化的手段?有哪些关键要素可以控制写入的效率呢?下面我们先来分析一下memstore的实现memstore中的数据存储DefaultMemStore.java// 2个存储数据的集合volatile CellSkipListSet cellSet;volatile CellSkipList原创 2016-12-14 17:36:19 · 2504 阅读 · 1 评论 -
HBase源码分析之WAL
WAL(Write-Ahead Logging)是数据库系统中保障原子性和持久性的技术,通过使用WAL可以将数据的随机写入变为顺序写入,可以提高数据写入的性能。在hbase中写入数据时,会将数据写入内存同时写wal日志,为防止日志丢失,日志是写在hdfs上的。 默认是每个RegionServer有1个WAL,在HBase1.0开始支持多个WALHBASE-5699,这样可以提高写入的吞吐量。配置参原创 2017-02-03 22:32:58 · 3576 阅读 · 0 评论