===数据写入流程===

源码:https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

函数:doMiniBatchMutation

总结:图片来自博客:http://hbasefly.com/2016/03/23/hbase_writer/

源码注释摘录:

// ------------------------------------
// STEP 1. Try to acquire as many locks as we can, and ensure
// we acquire at least one.
// ---------------------------------- // ------------------------------------
// STEP 2. Update any LATEST_TIMESTAMP timestamps
// ---------------------------------- // ------------------------------------
// STEP 3. Build WAL edit
// ---------------------------------- // -------------------------
// STEP 4. Append the final edit to WAL. Do not sync wal.
// ------------------------- // ------------------------------------
// STEP 5. Write back to memstore
// Write to memstore. It is ok to write to memstore
// first without syncing the WAL because we do not roll
// forward the memstore MVCC. The MVCC will be moved up when
// the complete operation is done. These changes are not yet
// visible to scanners till we update the MVCC. The MVCC is
// moved only when the sync is complete.
// ---------------------------------- // -------------------------------
// STEP 6. Release row locks, etc.
// ------------------------------- // -------------------------
// STEP 7. Sync wal.
// ------------------------- // ------------------------------------------------------------------
// STEP 8. Advance mvcc. This will make this put visible to scanners and getters.
// ------------------------------------------------------------------ // ------------------------------------
// STEP 9. Run coprocessor post hooks. This should be done after the wal is
// synced so that the coprocessor contract is adhered to.
// ------------------------------------ // if the wal sync was unsuccessful, remove keys from memstore

===数据读取流程===

参考博客:http://hbasefly.com/2016/12/21/hbase-getorscan/

最新文章

  1. MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems
  2. typealias和泛型接口
  3. C#学习感悟
  4. linux下tftp使用(转一些命令)
  5. Inno Setup安装、卸载时判断是否程序正在运行
  6. 有感,懂市场比懂产品重要,懂产品比懂技术重要——想起凡客诚品和YY语音了
  7. [转]MySQL导入和导出SQL脚本
  8. 原生应用native、Web应用、混合应用hybrid:3者的优缺点解析
  9. VS单元测试入门实践教程
  10. PhpCms_V9笔记
  11. Unity3D 骨骼动画原理学习笔记
  12. fs-max、file-nr和nofile的关系
  13. 省市县从数据库读出来的list数据转换成json格式的数据
  14. windows2008无人值守安装域控制器
  15. 【移动端】js禁止页面滑动与允许滑动
  16. C# Web 数据注解Data Annotations、模型状态ModelState、数据验证
  17. [转帖] Kubernetes如何使用ReplicationController、Replica Set、Deployment管理Pod ----文章很好 但是还没具体操作实践 也还没记住.
  18. SQL0286N 找不到页大小至少为 "8192"、许可使用授权标识 "db2inst" 的缺省表空间。
  19. C++ 构造函数_内存分区_对象初始化
  20. 成都Uber优步司机奖励政策(4月17日)

热门文章

  1. Js中常用的字符串,数组,函数扩展
  2. Netty--TCP粘包和拆包
  3. jquery.easyui.tabs 中的首个tabs被最后tabs覆盖的问题解决方法
  4. python 3389爆破机
  5. 转:Ubuntu下用Sublime输入中文
  6. postman 中url有动态变换的值时,可以按下面方式变换。
  7. 初始mysql语句
  8. DataMatrix二维条码源码分析检测识别图像位置
  9. Spring 中的 LocalSessionFactoryBean和LocalContainerEntityManagerFactoryBean
  10. 【转】arm和x86的区别