二、云原生数据仓库AnalyticDB MySQL高性能存储引擎
作者:张浩然,阿里云数据库高级技术专家
AnalyticDB MySQL(以下简称ADB)是一个云原生实时数仓,采用云原生技术架构,高度兼容MySQL 协议。关系型数据库、NoSQL、非结构化数据甚至原始的日志数据等多种数据源都可以通过DTS、DataX 等工具同步到ADB 中。数据导入ADB 之后,即可拥有数据库的体验,用户可以直接写SQL 进行相对复杂、高性能、低成本的分析。
AnalyticDB 高度兼容MySQL 协议,因此可以支持非常多的数据应用。研发人员可以自己写SQL 进行查询分析,也支持丰富的BI 报表工具。为了提供云上的一站式体验,ADB 还提供了数据管理,包括DMS、DataWorks 等。
上图为ADB整体架构
底层依赖了云上技术设施,包括ECS、ECS 挂载的ESSD 云盘以及OSS,OSS 主要用于冷数据的存储,降低用户成本。
存储层使用了分层存储,同时支持ESSD 和OSS。对于数据的不同业务行为用户可以进行数据冷热分层,选择高性能或低成本的存储。同时,基于Raft的同步层保证了数据的高可用和强一致。为了满足不同场景的查询需求,存储层实现了行列混存,支持不同的存储格式。
第三层的XIHE 为计算引擎,它具备秒级的弹性拓展能力,无状态,可任意弹出计算节点,目前单集群支持2000+以上节点,并且规模在持续增长中。其次,它为混合负载实现,无论是BSP 还是MPP,都具备良好的支持。
第四层为前端节点,负责协调、负载管理,还负责JDBC 协议的支持,用户的insert语句等需要由其进行接入,同时它还包含API、优化器等。
上图为存储层架构
《云原生一站式数据库技术与实践》——二、云原生数据仓库AnalyticDB MySQL高性能存储引擎(2) https://developer.aliyun.com/article/1231658?groupCode=aliyundb