简明HBase入门教程系列干货

举报
Jaison 发表于 2018/04/16 17:33:00 2018/04/16
【摘要】 《一条数据的HBase之旅》系列连载文章,到目前为止,已经完成了HBase基础概念介绍,HBase写数据全流程,Flush与Compaction流程,两种读取模式与Scan全流程,底层数据组织结构HFile,本文对这些内容做了简单的汇总

华为云上的NoSQL数据库服务CloudTable,基于Apache HBase,提供全托管式集群服务,集成了时序数据库OpenTSDB与时空数据库GeoMesa,在TB/PB级别的海量数据背景下,可提供ms级查询以及千万级TPS,点我了解详情



到目前为止,《一条数据的HBase之旅》系列连载文章已经完成了HBase的基础内容,HBase写数据全流程,Flush与Compaction流程,两种读取模式以及SScan全流程,本文对这些内容做了简单的汇总。


NoSQL漫谈.jpg


开篇内容

这是HBase入门系列的第1篇文章,主要介绍HBase当前的项目活跃度以及搜索引擎热度信息,以及一些概况信息,内容基于HBase 2.0 beta2版本。本系列文章既适用于HBase新手,也适用于已有一定经验的HBase开发人员。


数据模型

讲述HBase的数据模型以及一些基础概念,数据模型可以说决定了HBase适合于什么应用场景。


适用场景

这篇文章继HBase数据模型之后,介绍HBase的适用场景,以及与一些关键场景有关的周边技术生态,最后给出了本文的示例数据。


集群角色

本文主要介绍HBase与HDFS的关系,一些关键进程角色,以及在部署上的建议。


创建数据表

本文先给出了一些示例数据,而后介绍了如何建立Client到HBase集群侧的连接,最后介绍了整个建表的流程。


写数据接口

本文介绍HBase写数据的几种可选接口,表服务接口的抽象,以及写数据的几种模式。


构建Put对象

本文介绍如何将一条待写入的数据组装成HBase的Put对象,这过程涉及到了如何设计RowKey,比较了几种RowKey设计的优劣,以及如何设计列。


数据路由与分组打包

本文介绍写数据流程中Client端侧的一些处理,如数据路由,分组与打包,而后才通过RPC发送到对应的RegionServer。


RegionServer写数据流程

本文介绍RegionServer侧收到Client发送的数据以后的关键处理流程:Region分发,写WAL,写MemStore,这过程中也穿插介绍了一些进阶内容。


Flush与Compaction流程快速回顾

本文首先回顾了前面一系列文章所讲到的HBase写数据流程,至此,数据已经被写入到MemStore与WAL中了,从本文开始,将继续介绍后续的Flush与Compaction流程。本文仅仅先简单介绍了1.x系列版本中的Flush与Compaction行为。


In-memory Flush流程介绍

本文主要介绍HBase 2.0版本中新引入的In-memory Flush特性。


深入探讨Compaction机制

本文深入探讨HBase Compaction机制,主要讨论HBase Compaction要解决的问题本质是什么,以及针对这些本质问题,HBase所做的一些优秀实践或改进。

两种读取模式

介绍HBase的两种读取模式:Get与Scan,以及各自的重要参数。


深入Scan流程

本文详细介绍RegionServer侧如何处理读取请求(Get & Scan)的详细实现思路。

HFile原理

本文介绍了HBase的底层数据组织格式HFile的设计原理,并且借助Flush流程介绍了一个HFile从无到有的生成过程。



欢迎扫描关注公众号NoSQL漫谈

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。