云时代的大数据存储-云HBase

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介:

为什么

纵观数据库发展的几十年,从网状数据库、层次数据库到RDBMS数据库,在最近几年的NewSQL的兴起,加上开源的运动,再加上云的特性,可以说是日新月异。在20世纪80年代后,大部分的业务确定使用RDBMS数据为存储基础。新世纪开始,随着互联网的发展,数据量的增大,慢慢RDBMS数据库撑不住,就出现了读写分离策略。随着压力增加,Master撑不住,这时就要分库,把关联不大的数据分开部署,一些join查询不能用,需要借助中间层。随着数据量的进一步增加,一个表的记录越来越大,查询就变得很慢,于是又得搞分表,比如按ID取模分成多个表以减少单个表的记录数。经历过这些事的人都知道过程是多么的折腾。在不同的场景下,就出现各自优秀的分布式数据库,比如在文档型存储下的MongoDB,KV类型的Redis,再比如今天讲的列族类型的HBase。 见地址 云HBase : https://www.aliyun.com/product/hbase

大数据时代数据存储的特点为:基础量大、增长快、计算与存储的实时性要求迫切、支持时效性短、易发散、易产生脏数据,这些HBase自出生起,就满足这些需求。在大数据时代,我们认为HBase是公认的大数据存储。HBase的原型出自Google的BigTable,这个跟大数据的GFS及MapReduce齐名的三篇论文,由此开创了大数据时代。目前在阿里,已经有上万台的HBase集群,在各个场景下有广泛的应用。

为什么要上云,需要了解到HBase本身比较复杂,这涉及到分布式、数据存储、响应延迟,索引等一些分布式、数据库的知识,对于运维好这个复杂系统还是有一定的难度;要有很好的使用姿势,虽然API比较简单,但是各种组合情况下,畅玩好HBase还是需要一定的功力; 上云是趋势,自己去基于ECS建设又不太了解云环境下,怎么正确部署HBase,怎么跟OSS等云上组件配合。

为此,我们提供云HBase加上专家服务解决以上3个问题
最后,HBase在阿里集团使用了6年之久,已经在HBase的性能、运维等积累了大量的经验,我们希望把这些回馈给客户,例如:我们仅仅单条低字节高频写入情况就比社区版本高出30%+的性能。

目前提供的价值点有,以下几点:

  • 高可靠: 数据备份,数据可靠性9个9
  • 高可用:Master节点强制HA机制,出现问题后直接切换
  • 易运维:一键构建、配置修改、一键扩容、自动备份、数据流入
  • 高性能:比如开源性能大幅度提升30%+
  • 低成本:后续本地盘、云盘、OSS分级别存储

screenshot

技术架构

从技术架构层面看,大致如下:

screenshot
  • 基础资源层:底层使用ECS及本地磁盘的架构,保证在低成本的同时又具备高性能
  • 基础软件层:使用了Ali-JDK及Ali-Liunx,这两个都有专门的团队在维护,对云HBase的贡献,比如:改进gc算法减少毛刺,改进linux中断提升性能
  • HBase内核层:目前使用是跟阿里集团内部一致的版本,也就是说内部所有的性能优化、功能增强在公有云的客户都可以享受到。这些包括但不限于:提升读写性能、增强稳定性、降低磁盘、网络抖动引起的毛刺等等
  • 运维平台:逐步完善,会包括 监控报警、配置管理、健康诊断等等易于运维的功能

目前支持两种访问网络类型:第一种是经典网络、第二种是VPC网络。区别就是VPC再加了一层网络隔离。
经典网络:

screenshot
VPC网络:
screenshot

使用场景

HBase作为默认的大数据时代的存储,基本解决以下三大类的场景:

screenshot
  • 平台类,就是其它软件的存储,比如目前很流行的Kylin,阿里内部的日志同步工具TT,图组件Titan等。此类存放的往往是平台的数据,有时候往往是无业务含义的。作为平台的底层存储使用。
  • 用户行为类,此类主要是面向各个业务系统。这里的用户不仅仅指的人,也包括物,比如物联网。在阿里主要还是人产生的数据,比如:淘宝收藏夹、交易数据、旺旺聊天记录等等。这里使用比较直接,就直接存放HBase,再读取。难度就是需要支持千万级别的并发写访问及读取,需要解决服务质量的问题,比如GC了,就出现大量的毛刺。
  • 报表类的需求,比如报表、大屏等,最具代表的就是阿里巴巴的天猫双十一大屏。如下图所示:
    screenshot

基本上:Mysql支持小数据量,查询较为复杂的数据应用;HBase支持大数据,查询较为简单的数据应用。

后续计划

  • 一些功能,比如同步等,产品化,直接从rds及离线系统导入数据到云HBase系统中
  • 完善云HBase功能,不断做精细化
  • 提供HBase on OSS的能力,降低数据存储的成本
  • 提供双集群多写多度的能力,做多区多地域容灾
  • 关注HBase2.0,与社区一起提升HBase内核的能力及稳定性

HBase技术交流社区 - 阿里官方“HBase生态+Spark社区大群”点击加入:https://dwz.cn/Fvqv066s
相关实践学习
云数据库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
相关文章
|
6月前
|
存储 分布式计算 大数据
大数据计算中,使用OSS作为外部存储
大数据计算中,使用OSS作为外部存储
45 1
|
7月前
|
存储 NoSQL 分布式数据库
Hbase+ES和MongoDB存储大数据的选用
Hbase+ES和MongoDB存储大数据的选用
231 0
|
存储 缓存 分布式计算
大数据开发笔记(十):Hbase列存储数据库总结
HBase 本质上是一个数据模型,可以提供快速随机访问海量结构化数据。利用 Hadoop 的文件系统(HDFS)提供的容错能 力。它是 Hadoop 的生态系统,使用 HBase 在 HDFS 读取消费/随机访问数据,是 Hadoop 文件系统的一部分。
887 0
大数据开发笔记(十):Hbase列存储数据库总结
|
3月前
|
存储 关系型数据库 MySQL
Mysql 存储大数据量问题
Mysql 存储大数据量问题
88 1
|
4月前
|
存储 分布式计算 大数据
开通大数据计算MaxCompute就能存储外表了吗?
开通大数据计算MaxCompute就能存储外表了吗?
27 0
|
5月前
|
存储 Cloud Native 大数据
在云原生时代,构建高效的大数据存储与分析平台
在云原生时代,构建高效的大数据存储与分析平台
141 0
|
8月前
|
存储 算法 大数据
倚天性能优化--基于倚天优化后的zstd在大数据场景应用:降低存储成本+提升重IO场景性能
倚天性能优化--基于倚天优化后的zstd在大数据场景应用:降低存储成本+提升重IO场景性能
|
存储 分布式计算 安全
大数据存储与管理(一)|学习笔记
快速学习大数据存储与管理(一)
719 0
大数据存储与管理(一)|学习笔记
|
10月前
|
存储 人工智能 达摩院
带你读《云存储应用白皮书》之29:2. 物联网大数据存储解决方案
带你读《云存储应用白皮书》之29:2. 物联网大数据存储解决方案
269 1
|
11月前
|
存储 数据采集 缓存
大数据数据采集的数据采集(收集/聚合)的Flume之基本组件的Channel:临时存储数据的管道
在Flume中,Channel是数据采集和传输过程中的一个重要组件。它负责存储从Source获取的数据,并将其转发给Sink进行处理和存储。
106 0