1. 概述
阿里云瑶池旗下的云原生数仓AnalyticDB for PostgreSQL与AMD新一代硬件深度优化,结合全自研计算引擎及行列混合存储实现性能升级,综合性能提升30%。结合丰富的企业级能力帮助企业构建离在线一体、流批一体综合数据分析平台,采用同一引擎即可满足离线批处理、流式加工,交互式分析三种场景,在开发运维、时效性及成本上具备更高的性价比。
2. 性能优化路径
2.1 硬件架构优化
2.1.1 芯片性能提升
AMD和阿里云联合打造新一代硬件采用全新CIPU架构,处理器采用AMD EPYC Genoa处理器,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级安全加固。
第四代EPYC较比第三代EPYC性能提升显著,针对分析型数据库产品痛点在高算力,高内存带宽,低延迟等特点进行优化,可帮助企业用户在数据仓库、在线分析场景中具备更好的性能。
2.1.2 计算能效提升
在性能功耗比方面,新一代服务器在相同核心数量下(对比搭载两个64核AMD EPYC 9534和两个64核的AMD EPYC 7763的服务器)整数性能提升约24%,浮点性提升约52%。可以用更少的服务器来完成同样的工作,或者用同样数量的服务器在相同的时间内完成更多的工作。
2.1.3 安全性和隔离性提升
第四代AMD EPYC支持安全内存加密(SME)和安全加密虚拟化(SEV),将内存与拥有他的线程相关联,从而帮助击退旁路攻击;增加了SEV中加密上下文的数量,可以容纳更多的安全虚拟机。
通过AMD安全加密状态(SEV-ES)帮助保护虚拟机状态不受恶意或受损管理程序影响;还增加AMD安全嵌套分页(SEV-SNP)功能,以防止数据重放、内存重映射等攻击。
2.2 数据库内核优化
2.2.1 全自研计算引擎
AnalyticDB for PostgreSQL全自研计算引擎为数据处理和交互式分析加速。它通过以下技术实现性能提速:
● 应用芯片向量化技术如SIMD指令集等把芯片的并行化计算能力利用到极致。
● 采用LLVM JIT即动态编译优化,加速计算以提高数据处理效率。
● 自适应内存模型,根据计算模式动态选择行存/列存内存模型。
● 针对典型场景提供加速方案,比如针对Runtime Filter加速Join分析,字典特性加速低基数字段计算场景等。
2.2.2 全自研行列混存
一份存储下即可支持实时高吞吐写入/更新和实时高聚合分析两种场景。
写入方面利用Write Optimized Part高效承接批量/流式数据并通过内部Optimize优化,将数据转化为更利于查询的Read Optimized Part,从而实现高效的查询性能。利用Metadata实现高并发Update/Delete。
支持基于Btree索引的强主键模型,在写入数据时实现高效精准去重。在实时写入场景中单CPU Core可达到10万行/秒的写入性能。
支持Upsert功能在产生主键冲突时用户可根据实际业务需要灵活地选择忽略更新、覆盖更新或是条件更新模式。
在查询方面,存储引擎无缝兼容多种索引类型如Btree、GIN、GIST和自研向量检索索引,可以实现任意维度的高性能点查、全文检索和向量检索。
2.2.3 资源隔离增强
支持混合负载实现资源最大化利用,可同时承载流式写入,数据加工,交互式分析三类任务。
引擎通过资源组实现资源管理,相对使用资源队列更精细化、管理资源类别更全面。
它支持对CPU、内存按照业务优先级设置资源隔离策略,支持动态配置,配置即生效不需要重启引擎,大大减轻运维压力。
2.2.4 安全能力增强
完善和增强安全能力:
● 网络连接安全,支持SSL TLS 1.1/1.2/1.3加密算法,满足最新的网络安全要求。
● 存储安全,支持云盘加密实现数据加密存储。
● 加密算法,支持非对称加密和对称加密算法如SM4。
● 支持行级和列级权限管控,做到最细权限粒度控制和最小化敏感数据访问。
● 动态数据脱敏,引擎级支持对敏感字段设置脱敏规则,实现敏感信息过滤和保护。
● 支持SQL审计可对SQL操作明细进行审核。支持事件审计可实现对异常行为追溯。
3. 测试结果
性能测试采用国际标准TPC-H测试集进行,实验组搭载AMD EPYC Genoa服务器 ,对照组集群搭载同等规格下的其它主流硬件。
3.1 测试资源
3.2 测试过程
3.3 测试总结
采用国际标准TPC-H测试集以及在同等运行环境下,AnalyticDB for PostgreSQL采用AMD EPY服务器较比常规主流服务器平均性能提升32.7%。
4. 优势及应用场景
4.1 离在线一体分析
AnalyticDB for PostgreSQL在AMD硬件加持和全自研计算引擎及存储助力下,可同时提供稳定高效的离线批处理和高性能在线报表分析能力,具备高性价比:
● 数据加工后即可为下游报表工具或系统提供在线数据分析服务,避免在多引擎中同步数据造成数据不一致和时效性低的问题。
● 全自研引擎实现高性能交互式分析,行列混合存储可实现高效的IO裁剪,加速多维组合分析。
● 支持实时物化视图实现高并发报表查询。
4.2 海外数仓平滑迁移
SQL语法全覆盖并且支持自定义函数和存储过程。高度兼容Greenplum/Redshift/Synapse/Snowflake语法。
可覆盖海外云数仓产品企业级能力,在安全能力、资源隔离、容灾等方面实现加强。在实时分析、交互式分析能力上较比海外数仓功能及性能更好,更具性价比。
4.3 流批一体实时数仓
自研业界领先流批一体引擎让用户在数仓内即可开发流式任务,支持对批和流任务进行细粒度的资源隔离。
● 可消费Kafka/Flink/DTS实时数据源,支持高吞吐流式数据写入。
● 支持增量实时物化视图同步和异步刷新,可实现实时多表关联(支持左连接和右连接)、全量历史数据回溯、流和批表关联。
● 可支持实时Ad-hoc查询,满足实时报表分析和下游应用系统高时效性数据需求。
5. 开启方式
新购实例优先开启AMD形态。在选择地域时,建议用户勾选“北京、上海、杭州、深圳”地域开启实例。
本文由 计算杂谈 作者:云中子 发表,转载请注明来源!