内容简介 · · · · · ·
本书系统介绍HBase基本原理与运行机制,融入了作者多年的开发经验与实践技巧。主要内容包括:HBase的体系结构和系统特性,HBase的基础数据结构与算法、依赖服务、客户端,RegionServer的核心模块,HBase的读写流程,Compaction实现原理和使用策略,负载均衡的实现与应用,HBase的宕机恢复原理,复制、备份与恢复原理,HBase的运维方法、系统调优与案例分析,最后介绍了HBase 2.x的核心技术,以及一些高级话题,如二级索引、单行事务、跨行事务、HBase开发与测试等。
作者简介 · · · · · ·
胡争 小米公司HBase工程师,Apache HBase PMC成员,负责Apache HBase项目研发及小米HBase集群维护,对HBase及相关分布式存储系统有很多独到的见解。开源技术爱好者,长期活跃在Apache开源社区,热衷技术分享,博客地址为http://openinx.github.io。
范欣欣 现就职于网易杭州研究院数据科学中心,负责HBase以及分布式时序数据库的内核开发运维工作,对HBase的底层工作原理进行了长时间的探索和深入研究,撰写了大量有关HBase和时序数据库相关的技术文章,深受读者好评。此外,对大数据生态以及数据仓库也有深刻而独到的理解。博客地址为http://hbasefly.com。
目录 · · · · · ·
第1章 HBase概述 1
1.1 HBase前生今世 1
1.2 HBase数据模型 4
1.2.1 逻辑视图 4
1.2.2 多维稀疏排序Map 5
1.2.3 物理视图 7
1.2.4 行式存储、列式存储、列簇式存储 7
1.3 HBase体系结构 9
1.4 HBase系统特性 11
第2章 基础数据结构与算法 13
2.1 跳跃表 14
2.2 LSM树 17
2.3 布隆过滤器 21
2.4 设计KV存储引擎MiniBase 25
第3章 HBase依赖服务 34
3.1 ZooKeeper简介 34
3.2 HBase中ZooKeeper核心配置 37
3.3 HDFS简介 39
3.4 HBase在HDFS中的文件布局 44
第4章 HBase客户端 48
4.1 HBase客户端实现 48
4.1.1 定位Meta表 51
4.1.2 Scan的复杂之处 53
4.2 HBase客户端避坑指南 57
第5章 RegionServer的核心模块 63
5.1 RegionServer内部结构 63
5.2 HLog 64
5.2.1 HLog文件结构 64
5.2.2 HLog文件存储 65
5.2.3 HLog生命周期 66
5.3 MemStore 67
5.3.1 MemStore内部结构 68
5.3.2 MemStore的GC问题 68
5.3.3 MSLAB内存管理方式 69
5.3.4 MemStore Chunk Pool 71
5.3.5 MSLAB相关配置 72
5.4 HFile 72
5.4.1 HFile逻辑结构 73
5.4.2 HFile物理结构 74
5.4.3 HFile的基础Block 75
5.4.4 HFile中与布隆过滤器相关的Block 77
5.4.5 HFile中索引相关的Block 79
5.4.6 HFile文件查看工具 81
5.4.7 HFile V3版本 83
5.5 BlockCache 84
5.5.1 LRUBlockCache 84
5.5.2 SlabCache 86
5.5.3 BucketCache 86
第6章 HBase读写流程 93
6.1 HBase写入流程 93
6.1.1 写入流程的三个阶段 93
6.1.2 Region写入流程 96
6.1.3 MemStore Flush 98
6.2 BulkLoad功能 104
6.2.1 BulkLoad核心流程 104
6.2.2 BulkLoad基础案例 105
6.3 HBase读取流程 107
6.3.1 Client-Server读取交互逻辑 108
6.3.2 Server端Scan框架体系 109
6.3.3 过滤淘汰不符合查询条件的HFile 112
6.3.4 从HFile中读取待查找Key 112
6.4 深入理解Coprocessor 115
6.4.1 Coprocessor分类 116
6.4.2 Coprocessor加载 118
第7章 Compaction实现 120
7.1 Compaction基本工作原理 120
7.1.1 Compaction基本流程 122
7.1.2 Compaction触发时机 123
7.1.3 待合并HFile集合选择策略 124
7.1.4 挑选合适的执行线程池 125
7.1.5 HFile文件合并执行 126
7.1.6 Compaction相关注意事项 127
7.2 Compaction高级策略 128
第8章 负载均衡实现 133
8.1 Region迁移 133
8.2 Region合并 137
8.3 Region分裂 137
8.4 HBase的负载均衡应用 144
第9章 宕机恢复原理 147
9.1 HBase常见故障分析 147
9.2 HBase故障恢复基本原理 148
9.3 HBase故障恢复流程 149
9.4 HBase故障时间优化 154
第10章 复制 158
10.1 复制场景及原理 158
10.1.1 管理流程的设计和问题 159
10.1.2 复制原理 161
10.2 串行复制 164
10.2.1 非串行复制导致的问题 164
10.2.2 串行复制的设计思路 166
10.3 同步复制 167
10.3.1 设计思路 168
10.3.2 同步复制和异步复制对比 171
第11章 备份与恢复 173
11.1 Snapshot概述 173
11.2 Snapshot创建 175
11.2.1 Snapshot技术基础原理 175
11.2.2 在线Snapshot的分布式架构—两阶段提交 176
11.2.3 Snapshot核心实现 178
11.3 Snapshot恢复 179
11.4 Snapshot进阶 181
第12章 HBase运维 184
12.1 HBase系统监控 184
12.1.1 HBase监控指标输出方式 184
12.1.2 HBase核心监控指标 185
12.1.3 HBase表级监控 187
12.2 HBase集群基准性能测试 189
12.3 HBase YCSB 192
12.4 HBase业务隔离 194
12.5 HBase HBCK 195
12.6 HBase核心参数配置 198
12.7 HBase表设计 203
12.8 Salted Table 206
第13章 HBase系统调优 209
13.1 HBase GC调优 209
13.2 G1 GC性能调优 211
13.3 HBase操作系统调优 223
13.4 HBase-HDFS调优策略 228
13.5 HBase读取性能优化 230
13.5.1 HBase服务器端优化 231
13.5.2 HBase客户端优化 232
13.5.3 HBase列簇设计优化 233
13.6 HBase写入性能调优 233
13.6.1 HBase服务器端优化 234
13.6.2 HBase客户端优化 235
第14章 HBase运维案例分析 237
14.1 RegionServer宕机 237
14.2 HBase写入异常 241
14.3 HBase运维时问题分析思路 250
第15章 HBase 2.x核心技术 253
15.1 Procedure功能 253
15.2 In Memory Compaction 268
15.3 MOB对象存储 273
15.4 Offheap读路径和Offheap写路径 277
15.5 异步化设计 283
第16章 高级话题 289
16.1 二级索引 289
16.2 单行事务和跨行事务 293
16.3 HBase开发与测试 301
16.3.1 HBase社区运作机制 301
16.3.2 项目测试 303
附录A HBase热门问题集锦 308
· · · · · · (收起)
丛书信息
· · · · · ·
喜欢读"HBase原理与实践"的人也喜欢的电子书 · · · · · ·
喜欢读"HBase原理与实践"的人也喜欢 · · · · · ·
HBase原理与实践的书评 · · · · · · ( 全部 2 条 )
> 更多书评 2篇
论坛 · · · · · ·
书中的思考题有答案可以参考吗? 哪里有呢? | 来自jiemar | 2020-07-22 23:46:18 |
当前版本有售 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- 大数据 (养鸭专业户)
- CS推荐 (橄榄树萍)
- 书单|微信读书可读 (Back)
- 书单|计算机神书 (LANE2021)
- 技术-云计算与大数据 (Edward Cheng)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有344人想读,手里有一本闲着?
订阅关于HBase原理与实践的评论:
feed: rss 2.0
1 有用 阿丹 2022-06-01 09:18:02
图文并茂,学习hbase的好材料。
0 有用 momo 2023-09-28 23:28:35 江苏
开头一直到Region负载均衡的部分写的很好,深入浅出,获益良多,配图画的非常清晰全面,后面的部分因为工作涉及不到运维就没怎么看
2 有用 天丶亮了 2020-01-30 03:51:46
国人写的,很棒很有深度,但是后面的内容感觉有些耐心不足
0 有用 Finch 2020-12-14 23:14:04
整体还不错,另外里面有个miniBase的demo项目,初学者可以看看
0 有用 以熬以游 2024-04-10 14:06:01 新加坡
我的大数据学习入门作,受益匪浅。
0 有用 悠然 2024-04-18 18:27:46 广东
算是工作中见的最多的kv数据库了,大公司都用它(魔改版本)。过去兴趣不在这里,只是了解到所谓分布式kv的思路就过了。这本书的开头几章对我特别有用,把一些基础概念和算法讲清楚了,比如LSM、跳表、布隆过滤、基础模块等。后面实践部份倒是日常见到,很快就过了。感觉不错,HBase的底层原理我现在很清晰了。
0 有用 以熬以游 2024-04-10 14:06:01 新加坡
我的大数据学习入门作,受益匪浅。
0 有用 杨小帆 2024-02-08 11:34:58 内蒙古
花了三天时间读完了一遍,感觉有点像官方的使用文档,或者开发者的学习笔记,很多内容还是有些浮于表面,只是单纯的看图说话,不太像是一本探究原理的书籍,而像是一篇一篇单读的博文被拼凑在一起了,缺少了一些高屋建瓴的见解和分析。评分的话 3.5 颗星吧,不过因为国内确实缺少探究原理的书籍,所以评分向上取整,希望可以激励国内开发者提供更多探讨开源框架设计原理的书籍。但国内一些技术作者的文章内容组织形式,以及语... 花了三天时间读完了一遍,感觉有点像官方的使用文档,或者开发者的学习笔记,很多内容还是有些浮于表面,只是单纯的看图说话,不太像是一本探究原理的书籍,而像是一篇一篇单读的博文被拼凑在一起了,缺少了一些高屋建瓴的见解和分析。评分的话 3.5 颗星吧,不过因为国内确实缺少探究原理的书籍,所以评分向上取整,希望可以激励国内开发者提供更多探讨开源框架设计原理的书籍。但国内一些技术作者的文章内容组织形式,以及语言表达方式还是有进一步提升空间的,有些段落和句子要反复读好几遍才能读懂,对于读者来说真的感觉很累。优点是大部分 HBase 核心组件的原理和使用方式都有涉及了,所以也可以算合格了,而且没有只是无脑贴代码,技术先进性也还是有的,这点还是要点赞的。 (展开)
0 有用 邻家の躺平人 2024-01-20 15:13:49 浙江
抛开现在 HBase 差不多事实上是个 dead database 这本书写的还是不错的,各方面都比较到位。另外这本书让我更加确信我们现在的业务完全不适合 HBase,这三年多来的各种折磨我们老板要对技术选型负主要责任;同时极大地祛魅了之前我对所谓湾区顶级大厂staff eng的幻想和期待
0 有用 lopin 2024-01-17 16:47:38 广东
Hbase貌似也没几本好书,就这一本值得看了,原理写的很透彻了,实践方面偏少,适合有基础的看。