浅谈hbase的生态、现状和未来

HBase的主要特点

  • 列存,schema free,支持结构化、半结构化和非结构化的存储;
  • 具有所有分布式服务的基本特点:横向扩展/数据分片/故障迁移;
  • 存储计算分离架构,底层为HDFS,数据可靠性主要依赖HDFS;
  • 数据天然有序,有多版本;
  • 只支持行级事务;
  • 数据有强一致性;
  • 支持数据批量按文件导入;
  • 与hadoop生态圈产品完美结合;
  • 面向PB级数据,千万级QPS;
  • 底层硬件要求低,可以在成本低廉的SATA盘上提供百毫秒内的读写延迟。

HBase生态架构

HBase作为存储,支持KV和表格存储,也能做一部分小文件存储;

HBase作为中间层,可以通过上层的服务提供OLAP(phoenix,Kylin),graph(JanusGraph,HGraphDB),timeseries(OpenTSDB),geo(GeoMesa)等特定功能;

另外也可以结合ES/Solr提供文档索引或其他索引服务;
在这里插入图片描述

HBase应用场景

作为数据库,主要场景有:

  • 画像特征:特别是用户的画像,是一个比较大的稀疏矩阵,蚂蚁的风控就是构建在HBase之上;

  • 对象存储:我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中;

  • 实时风控,社交Feed流,商品历史订单,社交聊天记录,以及用户行为日志等;

作为中间层,可以提供如下服务:

  • 时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求。提升了监控/IoT场景中的设备时序数据处理能力。

  • 时空数据:主要是轨迹、气象网格之类,滴滴打车的轨迹数据主要存在HBase之中,另外在技术所有大一点的数据量的车联网企业,数据都是存在HBase之中。

  • CubeDB OLAP:Kylin一个cube分析工具,底层的数据就是存储在HBase之中,不少客户自己基于离线计算构建cube存储在hbase之中,满足在线报表查询的需求。

  • NewSQL:Phoenix 是 HBase 的开源 SQL 中间层,它允许你使用标准 JDBC 的方式来操作 HBase 上的数据。

  • 实时数仓维度数据存储引擎:支持较大规模的查询(主要是与事实数据join的查询),能够快速实时更新。

上层生态现状

JanusGraph 主要的缺陷是所有的查询没法下推到存储层进行处理,只能把数据从 HBase 查询到 JanusGraph Server 内存再做相应的过滤,所以成本高且单次查询耗时高。

Kylin采用离线计算构建cube提供在线报表查询功能。但是业务有实时数据分析的需求,所以大部分业务场景都能被Doris替代。另外Kylin会造成集群内region数量过多,增加运维难度。

Phoenix在HBase上提供了全局和局部二级索引,是HBase 最优秀的 SQL 中间层。基本也是为了提供数据报表,但有被ClickHouse替代的趋势。

OpenTSDB和GeoMesa目前业内没有非常有竞争力的替代品,但是维护的成本比较大。GeoMesa集群目前也有与Kylin同样的问题,就是集群region数量过多,Master/RS重启代价和对业务影响非常大。

HBase的发展方向

据了解,目前大部分公司HBase接入的是离线服务和近线服务。头条/小米/360/美团/搜狗等,都接入少量在线业务。大部分公司对在线业务的存储替代方案是Pegaus/ByteKV/Redis等KV存储。阿里/腾讯/头条在HBase上提供了衍生产品的云服务。腾讯HBase总计约有4000+节点,最大的集群有500多台节点。腾讯内部多个业务包括腾讯视频,微信支付和腾讯云等都在使用 HBase 服务。阿里和360有12000+节点,京东 HBase集群规模为 5000 多台,爱奇艺 6000 多台。对于HBase在各公司内的应用场景基本都与上述场景描述大同小异。

云原生:云原生带来的好处是资源重复和弹性利用,以及存储/计算/运维成本低。从目前的业界主流来看,企业级SaaS和ToB是大的趋势。云计算的兴起,唤醒了业务对于资源按需即时获取的强烈需求,弹性能力(区别于扩展性)也成为云上开发者对于云产品的默认理解。

数据生态融合:降低业务使用和维护各类系统的复杂性,提供多模式的存储模型。类似阿里云提供的Lindorm引擎和Tablestore服务,一体化提供宽表/文件/索引/时空功能,和Timeline/消息队列/对象存储等服务。

提供极致的HBase服务:如阿里云的云HBase和增强版,把HBase目前无法替代的宽表和时空能力做到极致,索引和小文件根据业务发展定位支持程度。加强HBase本身的容灾,双活,多活,冷热温一体化存储,多种压缩/编码方式等的能力。

HBase目前面临的挑战

不管是云原生还是多模数据库,HBase面临的主要问题有:

容灾能力,同城双活和异地多活能力;

短时间的故障恢复能力;

存储成本问题,和冷热数据分开/异构存储能力;

用户体验:包括如何提升性能,抚平毛刺等等;

上层服务的良性支持,如GeoMesa,目前还处于艰难维护的状态。

小文件的良性支持,从目前业务情况看MOB功能在5MB以上的大Cell数据写入性能不理想。

阿里HBase抗战8年中遇到的问题随着业务体量增大基本都会出现https://zhuanlan.zhihu.com/p/88537424。

参考资料

https://cloud.tencent.com/developer/article/1512257?from=15425

https://www.51cto.com/article/636805.html

https://developer.aliyun.com/article/789727?spm=a2c6h.12873639.0.0.54bb3cb7dAq3t9

https://help.aliyun.com/document_detail/130418.html?spm=a2c4g.11186623.6.543.609b2283b9T8Qp

https://developer.aliyun.com/article/789303?spm=a2c4g.11186623.0.0.2f9241abJeZKGl

https://zhuanlan.zhihu.com/p/88537424

https://help.aliyun.com/document_detail/174640.html

https://developer.aliyun.com/article/684333

https://www.36kr.com/p/1725338714113

http://www.beeui.com/p/3499.html

https://clickhouse.com/docs/zh/

https://www.codenong.com/jsdd1ce500657f/

https://help.aliyun.com/apsara/enterprise/v_3_15_0_20210816/msha/enterprise-technical-whitepaper/r80dta.html?spm=a2c4g.14484438.10001.14

https://cloud.tencent.com/developer/article/1477234

https://tech.antfin.com/docs/2/317800

https://www.infoq.cn/article/rlyiy3bxytr_p7velldo

https://www.zhihu.com/column/c_1366104426311184386

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值