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

简介: 纵观数据库发展的几十年,从网状数据库、层次数据库到RDBMS数据库,在最近几年的NewSQL的兴起,加上开源的运动,再加上云的特性,可以说是日新月异。云HBase数据库及时上线,一站式解决客户的大数据存储问题。

为什么

纵观数据库发展的几十年,从网状数据库、层次数据库到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+Spark社区 【强烈推荐!】 群内每周进行群直播技术分享及问答

目录
相关文章
|
机器学习/深度学习 人工智能 并行计算
5分钟掌握开源图神经网络框架DGL使用
近几年神经网络在人工智能领域的成功应用,让它备受关注和热捧。但是,它自身依然具有本质上的局限性,以往的神经网络都是限定在欧式空间内,这和大多数实际应用场景并不符合,因此,也阻碍了它在很多领域的实际落地应用。
5分钟掌握开源图神经网络框架DGL使用
|
机器学习/深度学习 算法 Python
贝叶斯优化在XGBoost及随机森林中的使用
本文简单讲解XGBoost和随机森林模型的优缺点,并引入贝叶斯优化去调整模型参数,找到模型参数最优解。
6788 0
语音识别(ASR)基础介绍第二篇——万金油特征MFCC
上一章提到了整个发声与拾音及存储的原理。但是在了解ASR的过程中,发现基本上遇到的资料都避不开MFCC特征。   整个ASR的处理流程大致可以分为下图: 左侧是经典的处理流程,右侧是近期流行的流程。发生的变化是,将语言模型以下的部分变成端到端的了。 我们将语言模型以下的部分统一看成是声学模型就好。  而MFCC主要用在左侧的处理流程中,即“特征处
7767 0
|
JSON 前端开发 Java
Spring Validation参数效验各种使用姿势
在日常的项目开发中,为了防止非法参数对业务造成的影响,需要对接口的参数做合法性校验,例如在创建用户时,需要效验用户的账号名称不能输入中文与特殊字符,手机号、邮箱格式是否准确。
5716 7
|
存储 中间件 Java
全链路追踪体验—TraceId的生成
对于后端开发来说,排查问题是常有的事情。而排查问题时最常用的就是看日志,看一次调用中经过了哪些系统,是那个系统出问题了。这就需要业务日志中关联调用链的TraceId信息,从而在应用出现问题时,能够通过调用链的TraceId快速关联到业务日志,及时定位分析、解决问题。
2687 0
全链路追踪体验—TraceId的生成
|
前端开发
服装商城电商-前端网页技术精美完整源码HTML+CSS+JS
服装商城电商-前端网页技术精美完整源码HTML+CSS+JS
服装商城电商-前端网页技术精美完整源码HTML+CSS+JS
|
分布式计算 调度 监控
阿里任务调度Schedulerx2.0之MapReduce模型
阿里巴巴任务调度Schedulerx2.0自研轻量级分布式模型MapReduce,可以进行大数据的实时/离线跑批。通过一个map方法就能将海量数据分布式到多台机器上执行,通过process方法处理子任务的业务,最后通过reduce方法可以获取所有子任务执行的状态和结果
7537 1
|
前端开发 JavaScript 测试技术
Facebook 开源可扩展文本编辑器 Lexical
Meta(原 Facebook)近日开源可扩展文本编辑器 Lexical,源代码托管在 GitHub 上采用 MIT 许可证。
875 0
Facebook 开源可扩展文本编辑器 Lexical
【vue】项目使用mqtt消息队列实现推送
简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用。 WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议。
9070 7
【图文】如何把其他服务商的服务器项目迁移到阿里云服务器上
本文为您介绍如何使用迁云工具,把其他服务商的服务器项目迁移到阿里云服务器上。
47761 1