开发者学堂课程【实时数仓 Hologres 实战课程:数据仓库服务化实践(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/904/detail/14391
数据仓库服务化实践(二)
九、Benchmarks - Serving 高并发点查询
- YCSB (Yahoo Cloud Serving Benchmark)
- Hardware: 192 core
Throughput |
Hologres 99th Percentile Latency(us) |
HBase 2.2.4 99th Percentile Latency(us) |
Diff |
100000 |
355 |
12431 |
35x |
500000 |
554 |
33385 |
60x |
1000000 |
885 |
116889 |
132x |
|
|
Apache HBase |
阿里云Hologres |
差异 |
产品定位 |
|
分布式面向列该的开源败据库 |
支持HSAP能力的云原生实时数仓 |
Hologres同时支特Serving和OLAP两个场景 |
高层设计 |
系统架构 |
存储计算玩合,存储依赖底层 |
存储计算分离Shared Nothing的MPP架构 |
|
|
存储引擎 |
仅支持行存,以Key value方式存储 |
行存+列存 |
Hologres针对不同的场景使用不同的存储引学,把分析(列存)和服务(行存)各自发挥到极限 |
|
Schema支持 |
弱schema |
强Schema,丰富的类型 |
【 Hologres】持强Schema可以保证开发的效丰,在数据质量不可靠,数据接口不明确的情况下。更易于通过Schema排查开发问题 |
|
SQL支持 |
通过Phoenix扩展支持,功能弱不支持Join, 受限于KV存储模式。SQL性能差 |
PostgresQL协议,兼容PG 11 |
PG的生态更丰富
|
|
实时写入 |
支持,写入即可查。写入TPS受限于compaction性能 |
支持,写入即可查。高TPS写入
|
Hologres更高的0PS和TPS. Hbase存在写入热点阿题。适成Region Server不稳定,宕机 |
|
数据分片 |
支持,支持预先分片和自动分片的模式 |
支持,集群模式下2种分片模式哈希( hash)、随机 |
|
|
开发语言 |
java为主 |
C++为主 |
[Hologres]执行效率更高 |
|
|
Apache HBase |
阿里云Hologres |
差异 |
存储引擎 |
压缩 |
压缩比差,冗余信息多 |
高压缩比,特别是列存时,压缩比非常高 |
|
|
排序 |
全局排序 |
局部排序 |
[Hologres]可配置的聚簇索引 |
|
存储能力 |
基于分布式文件系统HDFS,用户自行维护集群,集群会自动同步数据至多副本,存储能力与集群规模有关,支持线性扩展,LSM-Tree数据结构,多种压缩算法 |
基于分布式文件系统Pangu/HDFS,存储能力与集群规模有关,支持线性扩展,单表最大容量3PB+;多种存储模式和多种压缩算法赋能存储
|
|
查询引擎 |
事务能力ACID |
有限支持,支持行级数据的ACID |
有限支持,支持行级数据的ACID |
|
|
查询语言 |
Java API(需要与其他框架共同使用,例如Apache Phoenix) |
PG SQL,支持全Join关联查询 |
|
|
分析能力 |
原生仅支持点查(GET)和扫描(SCAN)。点查QPS高,SCAN性能差。 |
百亿级数据,实时查询及分析亚秒级响应;千亿/万亿级数据,实时查询及分析秒级响应;Join能力强大。点查QPS高 |
[Hologres) |
|
并发任务数-复杂OLAP |
不支持OLAP场景
|
支持,较高QPS |
[Hologres]全异步架构,查询QPS和TPS高 |
|
在线数据服务(QPS) |
点查:高QP5(5w+/s) |
点查:高QPS(5w+/s) |
|
Apache HBase |
阿里云Hologres |
差异 |
扩展性 |
存储计算耦合,需同时扩展 |
存储与计算能够独立线性扩展,提高并行能力 |
[Hologres]业务方无需担忧因存储或计算其中之一先达到瓶颈需要扩容而导致另一资源浪费 企业无需频繁更新机器配比 企业无需担忧扩容带来的大量数据迁移的问题 |
运维 |
用户需要自行运维 |
全托管系统动化骛天Ar用户侧无感知 |
[Hologres]全托管,免运维 |
生态 |
HBase兼容Hadoop生态 |
Hologres高度兼容PG生态 |
|
适用场景 |
海量存储,非结构化存储,单点查询性能优异,写密集型数据库 |
实时数仓。可全面替代HBase产品。联通数据孤岛,海呈数据实时查询及分析,弹性扩展集群。完整SQL支持 |
|
开发方式 |
应用开发复杂,需要将业务分析的指标、维度、表、聚合等概念,转化为存储的Keyvalue概念,将应用层查询过滤场景翻译为对Key的字节过滤操作,系统效率严重依赖Key设计的质量。整个系统从数据录入到数据分析查询等复杂多样的场景,依赖应用层对Keyvalue基础接口的使用。 |
应用开发简单,面向Table开发,使用SQL标准语句,适用于复杂多维分析,嵌套查询,关联查询等场景。提供 |
[Hologres]从HBase的面向指标,面向宽表开发,转化为Hologres面向主题域建模,减少了数据模型在采集端、处理端、分析端的异构信息衰减,减少了数据加工的层次,提高了数据使用的灵活性 |
十、搜索推荐实时分析和算法应用
数据量大,单日 PB 级存储
单表总条数千亿+
RPS 高,Flink 峰值写入 RPS 千万+
峰值查询 QPS 200+
数据灵活性要求高,分析场景多样化,固定条件高频分析、非固定条件多维查询
十一、数据产品,自助式分析
十二、友盟+:PB 级用户行为交互式分析
友盟+是国内最大的移动应用统计服务商,其统计分析产品 U-App&U-Mini & U-Web 为开发者提供基本报表统计及自定义用户行为分析服务,支持精细化运营。
业务痛点
· 业务数据量大,年新增行为数据10PB 级,个性化、自定义地交互式用户行为分析强需求
· 基于 MaxCompute 提供异步离线的 adhoc 分析和优化、以及自研引擎开发尝试均无法满足业务需求
· 导出到 mysql/Hbase 方案的二次开发和数据导出链路长、成本高、操作不灵活
客户收益
· PB 级数据亳秒级查询响应
· 与 MaxCompute 深度集成,能够利用 rangecluster 索引加速,实时离线联邦查询,同时也可以实现冷热数据混合查询,有利于成本性能平衡。
· 计算资源弹性伸缩,可兼顾扩展性、稳定性、性能、成本。
十三、菜鸟:智能物流
菜鸟智能物流分析引擎是基于搜索架构建设的物流查询平台,日均处理包裹事件几十亿,承载了菜鸟物流数据的大部分处理任务。
需求诉求
· HBase 的架构下维表数据导入耗时长、资源浪费严重、成本高
· HBase不能同时满足 PointQuery 和 OLAP 分析,数据导入导出引发数据孤岛、数据同步负担、冗余存储、运维成本和数据不一致等问题
客户收益
· 整体硬件资源成本下降60%+
· 更快的全链路处理速度(2亿记录端到端3分钟)
· 一个系统,满 KV 和 OLAP 两个场景,没有数据冗余
· 解决大维表实时 SQL 查询需求
· 强 Schema,有效避免潜在错误,节省时间。
十四、实时推荐、APl as service
实时推荐〔特征查询、实时指标计算、向量检索召回),提高广告留存率,Flink+PAl+Hologres withProxima
客户收益
· 支持2000万日活用户快速向量检索,千万级 u2u, i2i 均可以20ms 返回
· 通过 SQL 描述业务逻辑,无需手工编码(select a, , proxima_rdistance(c) as distancefrorm table arder by distance dest limit ke.)
· 加工逻辑简化,无需额外集群(Redis)
( Redis)
|
MaxCompute |
MC-Hologres |
适用场景 |
ETL,数据加工 |
交互式分析、数据产品服务化 |
计算引擎 |
基于Stage和File设计的,可扩展SQL Engine |
基于内存的,超快速响应的SQLEngine,计算不落盘 |
调度方式 |
进程级别,运行时分配 |
轻量级线程,资源预留 |
扩展性 |
几乎不受限制 |
复杂查询尽量避免跨多节点数据shuffle |
存储格式 |
列式 |
行式、列式共存,面向不同场景 |
存储成本 |
基于Pangu,成本低 |
基于Pangu,利用SSD做缓存加速,成本相对高 |
接口标准 |
MaxC sQL |
PostgresQL |
十五、大数据加工服务一体化
· 自下而上的数据分层开发
· 加工服务一体化:减少数据移动,减少数据孤岛
· 数仓建模敏捷化:减少数据层次,敏捷适应需求变化,面向 DwS、DWD 的应用开发
通过 HoleWeb 建外表:MaxCompute