大数据时代结构化存储云HBase技术架构及最佳实践

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 本文中,阿里云高级专家封神带来了主题演讲《大数据时代结构化存储云HBase技术架构及最佳实践》,介绍HBase的应用选择、实战案例、技术平台解读以及后续的规划。
在10年,阿里研究HBase,是为了解决阿里容量及并发的实际问题,按照数据库要求,阿里深入HBase技术,并致力于保障稳定性和性能,目前已经有10000台规模,数百个集群,大约1亿的QPS,服务整个集团的业务。17年,把这部分能力也开放给公有云客户。本文中,阿里云高级专家封神带来了主题演讲《大数据时代结构化存储云HBase技术架构及最佳实践》,介绍HBase的应用选择、实战案例、技术平台解读以及后续的规划。

为什么应用HBase

一般而言,传统关系型数据库面临着成本、容量、QPS、分析等多方面的问题:存储成本较高;无法满足TB、PB级别的数量存储需求;QPS无法满足较高的并发要求,性能不能横向扩展;数据隔离,从而不能满足分析类的需求。

通过关系型数据库MySQL,可以解决中小数据库存储需求;通过分库分表,能够解决一定容量及并发的需求,但是其实现复杂,需要业务感知;通过以HBase为代表的分布式数据库,可以支持高到千万的并发,满足海量数据的存储。

那么怎么解决传统数据库这些问题呢?HBase给出了相应的应对方法:

  • LSM-Tree:写吞吐高,离线导入效率高;
  • 存储无限扩容:计算存储分离,分布式存储可以无限扩容;
  • 自动分区:分区自动分裂,分区自动Merge;
  • Hadoop生态:Phoenix满足查询需求,Spark接HBase,可以满足分析类需求。

9b55e78e3c76de735a3f261831e1815f33dcf4a2

HBase除了可以满足业务较快增长的高吞吐以及大容量读取需求,还有其他传统关系型数据库和非关系型数据库所不具备的特性:比如松散表(不存数据,不占空间);实时更新、增量导入、多维删除;随机查询、范围查询。

此外,HBase还有许多其他特性:

  • LSM树:实时写入吞吐量大,增量导入隔离性强;
  • TTL:数据时效性,系统自动处理;
  • 多版本:数据的第三维度,高效删除方式;
  • 动态列:数据发散的利器;
  • 协处理器:满足数据高效处理;
  • SQL访问:二级索引;
  • 即时查询:操作性查询,准实时。

HBase的能力是完全可以线性扩展的,通过添加节点就可以线性增强计算存储能力。

javascript:void(0)

应用实战

HBase具有丰富的应用场景,凭借海量的存储能力和高吞吐能力,为各种应用场景提供支持,包括报表类、时序类、日志类、消息类、推荐类、风控类、轨迹类,行业包括电子商务、物联网/车联网、聊天软件、金融、广告商、新闻、电信等等。

HBase具有庞大的生态圈,支持实时数据分析、即时分析、多维分析、时序数据库等场景。

d68e9f9fc92df8f27ee5075205f73ed72425543f

在阿里内部,HBase的使用涉及日志、聊天、监控、订单、IOT、风控、搜索等。中国使用的公司还有京东、小米、腾讯、网易、360、知乎、中国人寿、电信......几乎所有的一定规模的公司。

实际案例——传感器监控类

在rowkey有一定的设计规则,业务系统会做一些优化,比如把多行压成一行等等。

a6759f15c4062cff4a051e5f0fe9db12fc2a0302

实际案例——单车/司机轨迹

轨迹类应用可以满足离线大规模的轨迹分析,满足用户、后端人员的实时查询。

83ccf45366c16eb5b1186ab9588435430c0de390

实际案例——双十一大屏

这是阿里内部非常具有代表性的场景。高吞吐、高并发、低延迟的访问需求下,对HBase应用提出了很高的要求。

47899cdbe5c112ae646d3c3c31e6686f3bddd665

实际案例——安全风控

5928010ccf9f8f88afa4e7421583b8169571e2e5

在金融的战场上,用户画像、风控一直也是核心之一,一般的数据也是存储在HBase。

实际案例——搜索

搜索是HBase最先解决的一个场景,目标是为了存储互联网,流式计算实时处理后再导入到搜索引擎。

ff528ba9e6547623aaad53a8dddbcb63cba57c9c

实际案例——分析类

629f1179da5d8c8e52285307bd116ede7980dd03

以上分享的场景都在阿里内部及云上的实际业务中得以使用,满足了高性能高存储量的需求。

下图展示了HBase在业务中所处的位置,以及整体数据流的流向。

7379cd40176e5d4b7d086453b4f06861d40c62a6

ApsaraDB for HBase平台解读

在构建过程中,HBase会面临的问题涉及:较为复杂的运维体系、安全体系、云环境、源代码有bug需要修复、数据可靠性无法保障、配置复杂、需要增加公网服务等功能、稳定性待提升等方面。ApsaraDB HBase平台能够针对性地完善这些因素,性能更佳,更加稳定可靠。

d4e0e66b326ce1247a818a3bbb1461fedec981ce

ApsaraDB HBase的基本架构图如下所示:

c1f6eeea775fb40d65e6b2e24817981792d5aa90

从架构层面来讲,不同层面会提供不同的服务。

  • 产品层、接入层、网络层:提供上云方案、安全服务、公网访问、监控指标报警、方案支持等一站的DBaas服务;
  • 中间件、HBase内核层:Apsaradb- HBase内核是基于社区 HBase1.1版本打造,目前在阿里集团内部有数千业务使用,万台机器的规模,在性能、稳定性、功能方案均有提升及改进,在历年双十一均有考验;
  • 存储层:HBase后续会基于云端本地实例及共享存储,极大降低成本;
  • 运维服务:实现运维自动化:15分钟内全自动部署集群,自动守护进程,可用性检测及报警,修改配置,扩容节点和磁盘,链路监控报警,指标可视化,自动升级内核等。

ApsaraDB HBase给用户承诺的保障有:数据可靠性;高性能;高可用,自动负截均衡,单节点故障时可秒级故障转移;生态完整,与Hadoop生态完美融合,支持其它组件复杂分析;易运维,全指标监控预警,在线扩容节点、磁盘及修改配置;强安全,支持网络白名单、VPC网络隔离、基于阿里云AK访问集群。

作为一款数据库类产品,ApsaraDB HBase与各个数据源间保持着非常通透的关系,方便数据导入导出。

0ad76556f4b87c213f56e6a18a15757f51bc27b8

HBase API在性能上可以成倍地提升,如下图所示。

a1be7e8723d0421fe33acce79b0573451fd00044
 
HBase SQL实现了全局二级索引:索引存储一致性同步、单列索引、索引异步构建,性能大幅度提升。

26f641029a3587b19e8f3a84d8e81770215bb811

近期规划

关于HBase的规划,阿里已经对外开放过HBase链路优化、集群同步、强一致性等技术分享,后续将会在公网访问、服务端一键迁移、共享存储、SQL、Replica等方面继续完善。

f6f89a7e0ae6d8c2b5777afa94497054872a0016

  • HBase公网访问&AK访问:实现在线共享环境,提供安全保障。
360d1d9b5da40e25b9f18baab627e7c63a1d9be9
  • 服务端一键迁移:这是团队目前正在研究的功能。

46805e229447bba44d86b32ecc51abb89fba86bd

  • 共享存储:下沉到存储层及降低存储成本。

6e977bdeba54fbad6d8fd50e7828b37e4c95c915

  • SQL:定位非事务、schema、二级索引、轻分析。
e3db1a3dbf70e1053f56932340acc593c750ac5e
  • Replica:在一个Region写,再在多个Region读写访问。目前应用较少,致力于使HBase同时支持CP&AP。
f1e3544b2611631fba10666b848d339f63ec6c34

HBase本身一直在发展之中,在大规模的结构化存储的场景中无疑是标准的产品,其支持的场景也在不断拓展。阿里云HBase团队也是致力于推广改进HBase及提供专业的服务。我们希望HBase发展越来越好。

  • HBase全网最佳学习资料汇总:https://yq.aliyun.com/articles/169085
  • 云HBase产品首页:https://www.aliyun.com/product/hbase
相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8天前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
1月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
91 1
|
1月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
57 3
|
9天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
9天前
|
存储 缓存 监控
【赵渝强老师】HBase的体系架构
本文介绍了HBase的体系架构,包括HMaster、RegionServer和ZooKeeper的主要功能。HMaster负责Region的分配和管理,RegionServer处理数据的读写操作,ZooKeeper维护集群状态并协调分布式系统的运行。文章还详细解释了Region、WAL预写日志、Block Cache读缓存和MemStore写缓存的作用。
|
1月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
25 9
|
1月前
|
存储 监控 分布式数据库
百亿级存储架构: ElasticSearch+HBase 海量存储架构与实现
本文介绍了百亿级数据存储架构的设计与实现,重点探讨了ElasticSearch和HBase的结合使用。通过ElasticSearch实现快速检索,HBase实现海量数据存储,解决了大规模数据的高效存储与查询问题。文章详细讲解了数据统一接入、元数据管理、数据一致性及平台监控等关键模块的设计思路和技术细节,帮助读者理解和掌握构建高性能数据存储系统的方法。
百亿级存储架构: ElasticSearch+HBase 海量存储架构与实现
|
1月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
68 1
|
1月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
53 3
|
1月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化