实时数仓 Hologres 简介
所属分类 hologres
浏览量 935
HSAP 服务分析一体化
Hybrid Serving and AnalyticalProcessing
Lambda 架构 kappa 架构
大数据处理之Lambda架构和Kappa架构
ODS 操作数据层
元数据
集市
ETL逻辑复杂 维护成本高
数据处理链路长
无法支持实时/近实时 只能T+1
Lambda 架构 痛点
多种引擎和系统 混合 学习 开发 维护成本高
数据多种存储 数据一致性
Batch Streaming MergeQuery 实现复杂
HSAP 服务分析一体化
Hybrid Serving and AnalyticalProcessing
支持很高QPS场景的查询写入,将复杂的分析场景在一套体系里面完成
统一数据存储 同时存储实时数据和离线数据
系统能够直接对接前端应用,例如报表和在线服务等,
不需要再额外的导入导出就能即席分析,统一数据服务,减少数据移动。
Hologres
兼容PostgreSQL生态、支持MaxCompute数据直接查询,
支持实时写入实时查询,实时离线联邦分析,低成本、高时效帮助企业快速构筑流批一体的实时数仓
Hologres = Holographic + Postgres
Hologres核心技术
存储计算分离 数据存在分布式文件系统中
服务节点 Backend 接收数据、存储和查询,支持数据的计算
执行引擎 Frontend 接收路由分发的SQL,生成逻辑执行计划,通过优化器生成分布式的物理执行计划,发布到Backend做分布式执行
接入端由LBS做相应的负载均衡任务
分布式存储 常见架构
Shared Disk/Storage
存储集群上挂载了很多磁盘,每个计算节点都可以直接访问这些共享盘
Shared Nothing
每个计算节点自己挂载存储,节点之间可以通信,但是各个节点之间的盘不共享,存在资源浪费的情况
Storage Disaggregation
把存储集群看做一个大的磁盘,每个计算节点都可以访问,且每个计算节点都有一定的缓存空间,可以对缓存数据进行访问,也无需关心存储集群的管理,这种存储计算分离的架构便于灵活扩容,能够有效节省资源。
流批一体的存储
存储引擎
行存储和列存储
行存适用于基于PK的点查场景
列存适用于OLAP复杂查询场景
数据写入 流程
先写log log存储在分布式文件系统
写MemTable
MemTable 超出阈值 Flush到文件中,存储在分布式文件系统
后台合并 Flush 产生的小文件
行存储和列存储的区别
Flush到文件的过程
行存表Flush成行存储的文件,列存表会Flush成列存文件
执行引擎 通用的分布式查询引擎
端到端的全异步处理框架
查询用异步算子组成的执行图DAG表示,可以方便对接查询优化器
算子内部处理数据时最大可能地使用向量化执行
和存储引擎的深度集成,灵活的执行模型,能够充分利用各种索引,并且最大化地延迟向量物化和延迟计算,避免不必要的读数据和计算
对常见实时数据应用查询模式的自适应增量处理
对一些查询模式的独特优化
优化器
基于代价的优化器,能够生成复杂的联邦查询执行计划,尽可能发挥多套计算引擎的能力
HOS&HoloFlow
核心组件 blackhole
灵活高效的异步框架 holo-os HOS
Frontend 接入层
兼容PostgreSQL协议,负责用户请求的接入、处理以及元数据的管理
通过多版本控制+元数据同步等方式实现了多Frontend之间信息实时同步,
配合LBS层的负载均衡实现 线性扩展和高QPS的能力
《Alibaba Hologres: ACloud-Native Service for Hybrid Serving/Analytical Processing》
http://www.vldb.org/pvldb/vol13/p3272-jiang.pdf
上一篇
下一篇
scala getClass和classOf
WEB3.0简介
eclipse启动失败 failed to create the java virtual machine
英文简历模板1
关于职级的一些段子
门面模式 代理模式 适配器模式的区别