大数据-简书kafka开发技巧

2021年超火好文!小米和网易两位资深工程师联合编写的HBASE

2020-12-23  本文已影响0人  IT程序员

Apache HBase是基于Apache Hadoop构建的一个高可用、高性能、多版本的分布式NoSQL数据库,是Google BigTable的开源实现,通过在廉价服务器上搭建大规模结构化存储集群,提供海量数据高性能的随机读写能力。

阿里巴巴、小米、腾讯、网易、华为、滴滴、快手、中国移动等,都已经把HBase作为极重要的基础设施,很多公司对HBase社区也有长期的投入。

目前在开源社区,能被市场广泛接受的分布式持久化KV存储系统不多,HBase就是其中一款优秀产品。Apache社区开放的生态环境,也使HBase得到了健康的发展,全球各数据库大会和大数据会议上,可以频繁地见到HBase的身影。从HBase整个生态链上来看,我们也可以发现像Phoenix、Omid等各种不同框架都可以建立在HBase之上,用来实现业务在SQL和事务上的不同需求。

在网易内部,HBase从最初支持单一的日志存储,发展成为同时支撑各业务部门的上百个不同业务。基于HBase + SSD的存储系统,在实时推荐、实时风控等场景下都得到了很好的应用,对于一般化的场景则更多,例如日志存储、订单存储、用户画像等等。希望本文能帮助读者更深入、系统地了解HBase。

本文从设计的角度对HBase的整个体系架构和各核心组件进行系统的分析和讲解。与此同时,还介绍常用的性能调优策略以及问题诊断的方法和技巧,帮助读者更好地在实际生产环境中实践。

本文由HBase PMC成员与网易资深工程师倾力打造,多位技术专家联袂推荐。深入HBase内核,抽丝剥茧,剖析HBase数据库的基础理论与开发运维。

HBase概述;本章作为全书的开篇,将从HBase的历史发展、数据模型、体系结构、系统特性几个方面,向读者介绍这位主角。

1.1 HBase前生今世

1.2 HBase数据模型

1.3 HBase体系结构

1.4 HBase系统特性

基础数据结构与算法;本章将介绍HBase的核心数据结构,主要包括跳跃表、LSM树和布隆过滤器。同时,为了使读者加深印象,我们设计了一个轻量级KV存储引擎MiniBase°,并提供了一些相关的编程练习。

2.1跳跃表

2.2 LSM树

2.3布隆过滤器

2.4设计KV存储引|擎MiniBase

HBase依赖服务;

3.1 ZooKeeper简介

3.2 HBase中ZooKeeper核心配置

3.3 HDFS简介

3.4 HBase在HDFS中的文件布局

HBase客户端;

4.1 HBase客户端实现

4.2 HBase客户端避坑指南

RegionServer的核心模块;本章将对RegionServer进行分解,并对其中的核心模块进行深入介绍。需要注意的是,本章对于模块的介绍仅限于分析其核心作用、内部结构等,而对其在整个HBase的读写流程中所起的作用并不展开讨论,

5.1 RegionServer内部结构

5.2 HLog

5.3 MemStore

5.4 HFile

5.5 BlockCache

HBase读写流程;

6.1 HBase写入流程

6.2 BulkLoad功能

6.3 HBase读取流程

6.4深入理解Coprocessor

Compaction实现;

7.1 Compaction基本工作原理

7.2 Compaction高级策略

负载均衡实现;

8.1 Region迁移

8.2 Region合并

8.3 Region分裂

8.4 HBase的负载均衡应用

宕机恢复原理;本章重点介绍HBase中 RegionServer常见故障分析、故障恢复基本原理、宕机之后数据恢复流程等。

9.1 HBase常见故障分析

9.2 HBase故障恢复基本原理

9.3 HBase故障恢复流程

9.4 HBase故障时间优化

复制;

10.1复制场景及原理

10.2串行复制

10.3同步复制

备份与恢复;

11.1 Snapshot概述

11.2 Snapshot创建

11.3 Snapshot恢复

11.4 Snapshot进阶

HBase运维;本章将会结合笔者多年的生产线运维经验,重点介绍HBase系统在监控报警、性能测试以及业务隔离等多个方面的最佳实践。

12.1 HBase系统监控

12.2 HBase集群基准性能测试12.3 HBase YCSB

12.4 HBase业务隔离

12.5 HBase HBCK

12.6 HBase核心参数配置

12.7 HBase表设计

12.8 Salted Table

HBase系统调优;本章内容涵盖了部分调优技能,通过介绍与HBase最相关的调优内容,来介绍部分调优方法和思路,包括GC调优、操作系统调优以及HBase读写性能调优等。

13.1 HBase GC调优

13.2 G1 GC性能调优

13.3 HBase操作系统调优

13.4 HBase-HDFS调优策略

13.5 HBase读取性能优化

13.6 HBase写入性能调优

HBase运维案例分析;

14.1 RegionServer宕机

14.2 HBase写入异常

14.3 HBase运维时问题分析思路

HBase 2.x核心技术;

15.1 Procedure功能

15.2 In Memory Compaction

15.3 MOB对象存储

15.4 Offheap读路径和Offheap写路径

15.5异步化设计

高级话题;本章将介绍HBase 的几个高级话题。二级索引是开发者常用的一个数据库功能,但是社区版本 HBase并不支持二级索引功能,本章将提供一些常用的设计二级索引的思路。事务是数据库系统值得讨论的一个核心功能,HBase目前仅支持单行事务,不支持多个分区之间的跨行事务,本章将给出跨行事务的设计思路。最后介绍HBase的社区运作机制以及HBase开发和测试相关内容,希望对参与社区建设感兴趣的读者有所裨益。

16.1二级索引

16.2单行事务和跨行事务

16.3 HBase开发与测试

需要这份【HBASE原理与实践】328页技术文档的小伙伴,可以转发此文关注小编后,点这里来获取!!!

大牛对本文的高度评价

希望本文能够帮助到广大开发人员的学习,也希望本文能够得到大家的喜欢,多多转发让更多的人受益,多多关注每天更新技术好文!

上一篇 下一篇

猜你喜欢

热点阅读