学习HBase,你需要这样一本书

                                  

为什么要学习HBase?

整个互联网都建立在数据库的底座之上,数据库又林林总总分为很多种,但每个互联网业务发展到一定规模都不可缺少的数据库只有这么几种:以MySQL为代表的关系型数据库以及其分布式解决方案,以Redis为代表的缓存数据库,以ES为代表的检索数据库,再就是分布式持久化KV数据库。而在开源领域,尤其是国内,HBase几乎是分布式持久化KV数据库的首选方案。HBase应用的业务场景非常之多,比如用户画像、实时(离线)推荐、实时风控、社交Feed流、商品历史订单、社交聊天记录、监控系统以及用户行为日志等等。


为什么要写一本这样的书?

笔者在之前的几年时间里写了部分HBase相关的文章,虽然说每篇文章都自成体系,但从HBase系统的层面来看,这些博客之间又似乎缺乏联系。另外,博客中还是缺少很多关键的知识模块,比如HBase负载均衡机制、集群复制功能等。之外,很多读者反馈后期想要尝试生产线上使用HBase 2.x,想要了解更多2.x版本的新特性,当然从长远来看,HBase 2.x肯定会在接下来一段时间慢慢普及。因此就希望写一本书,首先能够把HBase博客的这些内容串起来,让读者能够一气呵成地理解整个HBase的工作原理。再者补齐缺失的核心模块,新增更多的运维调优、案例分析,最后再补充HBase 2.x版本几个最重要的核心特性。

 

这本书能够带给读者什么东西?

对于HBase这种重量级的核心数据库,理解它的工作机制不仅有助于管理优化好公司的HBase集群、更好的支持更多的业务发展。更重要的,对于自己的知识体系建设尤其重要。这本书,可以从这几个方面帮助你建立(或完善)核心技术体系:

1. KV数据库如何基于LSM存储引擎实现。LSM存储引擎及其变种是很多数据库实现的基础,比如常见的MyRocks、HBase、InfluxDB以及Kudu等等。这本书将基于HBase内核视角完整剖析LSM存储引擎的写入、读取以及Compaction等核心细节。这些工作原理对于其他基于LSM存储引擎的数据库都是大同小异。

2. 单机KV数据库如何做成分布式集群。单机KV数据库做成分布式集群需要攻克很多技术难题,比如Region如何实现分裂、合并、负载均衡等,如何实现分布式的备份恢复,如何实现集群复制,以及如何实现集群的故障恢复。这些核心技术实现方案将会在本书完整讲解。

3. HBase集群运维、调优、故障定位策略。本书在介绍HBase核心工作原理的基础上,使用大量篇幅以案例的形式介绍HBase集群实践相关方法。相信通过这些方法的实践掌握,结合理论知识,完全可以运维好大规模的HBase集群。

总之,这本书以HBase为例,介绍了大量的通用技术实现框架和细节,并安排了较多的针对性地题目。相信通过这些知识的学习理解,可以更加全面地提升读者在多个方面的技术竞争力。


   

 Hudi 原理 | Apache Hudi 核心概念总览


猜你喜欢

转载自blog.51cto.com/15060465/2676767