阿里云 Hologres 简介
Hologres 功能特性
官方文档给 Hologres 的定义是实时数仓,最早提出是作为 HSAP(Hybrid Serving/Analytical Processing)服务/分析一体化系统, 主要包含下面几个功能特点:
- 作为 OLAP 和 Ad Hoc 使用的查询分析,Hologres 支持行存和列存表,MPP 架构,可以多维查询分析,也可以点查;
- 实时数仓的能力;
- 生态与可扩展性,标准SQL接口,兼容PostgreSQL 11协议;
- 作为 PaaS 平台的优势;官网文档对比 MaxCompute 提到 Hologres 集群资源是独享集群,PaaS 模式,我感觉怎么更像是 SaaS 。
Hologres 是 Holographic 和 Postgres 的组合词,意向做一个全息的兼容 Postgresql 的数据库,以解决 Lambda 架构中流批分离的设计随着数据量增大带来复杂度提升的问题。 从 Hologres 设计的初衷可以看到它对于 OLTP 类型数据库的功能特性支持弱,比如事务。
逻辑架构
下面是 Hologres 逻辑架构图,计算存储分离,计算层又分为负责接入服务的 FE,计算节点 HoloWorker 以及元数据服务三部分。Hologres 的节点在 K8s 上 ,出现故障会由 K8s 快速拉起新节点保证节点级别的可用性,HoloWorker 节点内部还有 Holo Master 来处理组件的异常以保证组件的可用性。 共享存储层在 Pangu 分布式文件系统上。
存储计算架构
Hologres 的存储计算架构主要是下图的第三种,它既有第一种架构的分布式存储集群,方便横向扩展,计算节点也有第二种架构的由 Storage Engine 直接管理的分片数据,SE 介绍文章。
Query 执行过程
Hologres 的计算引擎主要是自研的 HQE,PQE 是为了兼容 PG 的扩展组件的计算引擎,SQE 是无缝对接 MaxCompute(ODPS) 的执行引擎,SQE 介绍文章。一个节点上的 query 执行过程如下,sql 经过接入成后分成两部分如下。
参考资料
Alibaba Hologres: A Cloud-Native Service for Hybrid Serving/Analytical Processing(PDF, 914KB)
Alibaba Hologres: A Cloud-Native Service for Hybrid Serving/Analytical Processing
《Alibaba Hologres: A Cloud-Native Service for Hybrid Serving/Analytical Processing 》论文导读
Hologres: A Cloud-Native Service for Hybrid Serving/Analytical Processing(YouTube)