HBase源码分析
文章平均质量分 88
Jerry_Fu24
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hbase-0.98.6源码分析--RegionServer宕机处理
我们都知道HBase作为分布式数据库,它的容错性是非常好的,由于网络不稳定,RegionServer宕机肯定是不可避免的,当掉的RegionServer上托管的数据会进行动态迁移和负载均衡,具体的细节又是怎么做的呢?看源码。 RegionServer和Master之间有进行通信的心跳检测机制,当RegionServer宕机之后,Master接收不到该RegionServer的心跳原创 2016-07-02 21:56:55 · 551 阅读 · 0 评论 -
Hbase-0.98.6源码分析--Nonce管理机制源码分析
在《Hbase-0.98.6源码分析--Put写操作Client端流程》这篇文章中,我们介绍了Put写操作在Client端的操作流程,在介绍其中submit()方法的时候,出现了一个陌生的名词——Nonce机制,今天就来仔细的介绍下不可或缺的Nonce管理机制。 HBase具有很强大的容错特性,而在网络世界,网络出现不稳定状况是默认一定,HBase肯定对此进行了针对性的容错处理,原创 2016-06-19 11:10:14 · 918 阅读 · 0 评论 -
Hbase-0.98.6源码分析--负载均衡过程
毕业设计做弹性方面的评测,HBase作为分布式数据库,弹性必然是其重点的研究方面,它是如何实现弹性的呢?最重要的一点是它具有负载均衡功能。 首先,Region在HBase中定义为表按行方向切分的一个个数据区域,交由RegionServer负责管理,并向外提供数据读写服务。如果一个RegionServer上的Region过多,那么该RegionServer对应的就会承担过多的读写等服原创 2016-07-16 15:46:53 · 472 阅读 · 0 评论 -
Hbase-0.98.6源码分析--Put写操作Client端流程
客户端程序写数据通过HTable和Put进行操作,我们从客户端代码开始分析写数据的流程: 可以看到,客户端写数据最终的调用了HTableInterface的put()方法,因为HTableInterface只是一个接口,所以最终调用的是它的子类HTable的put()方法。进入HTable.put(): 从上面代码可以看出:你既可以一次put一行记录原创 2016-06-18 13:36:21 · 1407 阅读 · 0 评论 -
Hbase-0.98.6源码分析--Put写操作HRegionServer端流程
在《Hbase-0.98.6源码分析--Put写操作Client端流程》中,介绍了put操作的流程,最后client端是通过MultiServerCallable.call()调用multi()方法来进行rpc请求的。追踪multi()方法,进入ClientProtos.ClientService.BlockingInterface接口的multi()抽象方法,再次追踪该方法,进入实现该方法的HR原创 2016-06-20 14:27:46 · 959 阅读 · 0 评论 -
Hbase-0.98.6源码分析--行锁
在传统的关系型数据库,如MySQL中,存在事务(Transaction)这一概念 ,事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会执行。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足ACID(原子性、一致性、隔离性原创 2016-06-21 11:25:23 · 610 阅读 · 0 评论 -
HBase之HMaster组件介绍
HBase的master server具体实现是HMaster。它提供了面向客户端Client的HMasterInterface和面向region server的HMasterRegionInterface的实现。它的组件如下(并未完全列出): 下面逐一介绍:原创 2016-07-28 14:55:00 · 926 阅读 · 0 评论 -
Hbase-0.98.6源码分析--MVCC多版本并发控制技术
前几篇文章稀稀拉拉的介绍了HBase的MVCC,但也只是停留在概念阶段,这几天学习了MVCC的源码,和大家分享一下。 在看源码之前再简单啰嗦一下MVCC的概念,有助于理解源码的精神。 想像这样一种情景,在数据库进行读操作时,如果有人向其中写入数据,读的人就有可能会看到不一致的数据。当然解决方法很多,最简单的莫过于加锁,让所有读者等待写工作完成再读,但这样会影响并发效原创 2016-06-23 10:50:43 · 828 阅读 · 0 评论
分享