技术深度报道:解析云器Lakehouse如何实现超越Spark 10倍性能提升

简介: 云器科技2024年末发布TPC-DS 10TB基准测试报告,Lakehouse引擎性能达Spark的10倍。核心源于四大技术:C++向量化引擎(3×)、Cascades成本优化器(2×)、DAG直连调度(1.3×)与自适应缓存(1.3×),实现全栈协同优化。(239字)

云器科技与2024年末发布TPC-DS基准测试报告:性能超Spark十倍。

在今年1月举行的GA产品发布会上,CTO关涛首次系统解读了此前发布的性能测试报告,详细阐释了云器Lakehouse引擎如何实现“10倍”的技术路径。

本报道对云器的技术解读进行总结呈现,帮助业内人士了解这一性能突破背后的技术细节

云器Lakehouse公布的性能报告显示比开源Spark引擎快约10倍,具体测试对比在TPC-DS 10TB基准测试使用128核计算资源,同时保持相同的数据准确性和兼容性。详情请见性能测试报告。

https://www.yunqi.tech/resource/blogs/lakehouse-performance

十倍性能提升从何而来?

在技术竞争的喧嚣中,我们常见各种性能指标的发布和对比,甚至争吵。然而,正如云器首席架构师CTO关涛所言:“指标是表面的,背后技术是真实的。”指标可以通过多种手段进行“优化”,包括测试方法调整、特定场景优化甚至选择性展示。本文希望通过解读这些表面数字背后的技术点,真正帮读者拆解了解实现这些改进点的差异价值。

本文旨在揭开表象看本质,直接审视支撑这些性能的核心技术创新。通过解析云器Lakehouse系统架构的关键技术点,我们将看到这些十倍性能提升究竟源自何处,以及这些技术如何在实际业务场景中转化为真实价值。只有理解了技术本质,才能真正判断性能提升的含金量和可持续性。

一、从技术进步说起:硬件、软件与网络技术的协同进化

在详解具体的技术优化点之前,让我们先从宏观上分析哪些大的技术进步带来性能红利。这些技术进步包括:硬件的进步,以及硬件供应链的提升。

1. 近年来硬件与基础设施的进步

数据处理性能的提升离不开底层硬件与基础设施的革新。关涛分享了过去十年间,计算环境经历了几项关键变革:

计算能力显著增强:服务器CPU从单核高频向多核架构演进,现代处理器可集成数百核心。同时,SIMD指令集(如AVX-512)提供了强大的向量化计算能力,使数据引擎从“一次处理一个值”转向“一次处理一批值”。这种向量化趋势已成为主流,几乎所有现代分析引擎都采用此技术。

存储性能迭代升级:存储系统经历了从机械硬盘到固态硬盘再到持久化内存的演进。虽然机械硬盘仍未被完全取代,但混合存储架构已成为标准配置。单盘容量持续增加,同时价格持续下降,为大规模数据处理创造了条件。

网络架构全面革新:数据中心网络完成了向Spine-Leaf架构的升级,实现了全网点对点高带宽且一致的连接特性。这解决了传统网络带宽不平衡的问题,使存算分离架构成为可能,数据能够更加自由地流动。

2. 云计算带来的基础设施变革

云计算的普及彻底重塑了硬件供应链,为数据处理系统创造了新的优化空间:

资源弹性显著提升:硬件供应周期从“月”级别压缩到“分钟”级别,企业可以根据实际需求快速调整资源配置,大幅提高资源利用效率。

硬件选择多样化:云平台提供了丰富的硬件组合选项,数据系统可以为不同工作负载匹配最适合的硬件,实现“软件适应硬件”的灵活部署模式。

云原生架构兴起:基于云的“南北分层”架构逐渐成熟,通过合理利用按需实例、Spot实例等资源模型,系统可以在保持高性能的同时优化成本结构。

这些变化为软件系统优化创造了新机会。

除了乘上了软硬件网络的技术红利,云器采用了哪些特别的技术方案优化性能呢?

二、核心技术解析:云器性能优化的四个乘数

10倍性能的详细拆解

云器Lakehouse的性能提升来自多个技术共同作用。关涛用一个简单公式说明:2×3×1.3×1.3≈10.14,把10倍性能分成四部分:

特别的,两个系统在测试中都应用了相同的数据组织优化策略,包括适当的分桶、排序处理以及统计信息增强(Analyze)。

1. C++向量化引擎:3倍提升的核心引擎

C++向量化引擎是云器Lakehouse性能提升的最大来源,单独带来约3倍性能提升。关涛展示了数据对比:同一查询在传统引擎需要15秒,在C++向量化引擎只需5秒,资源用量减少60%。这是由于云器采用了全Native C++实现的Columnar与Codegen结合的执行引擎,充分利用现代CPU的AVX512向量化指令集。——在上一段我们提到CPU架构从单核心高频向多核心转变,SIMD指令集成为主流,这正是向量化引擎的技术基础。

下表展示了基于JVM的Spark引擎与C++向量化引擎在处理大规模数据时的主要差异:

存储层设计与优化

同时,云器Lakehouse在存储层采用了现代湖仓一体化设计,基于自研的C++ Iceberg/Parquet读取器,直接消除了Java原生接口带来的JNI转换开销。

2. 高级查询优化器:2倍提升

关涛介绍的另一个关键技术是云器的高级查询优化器,这部分单独贡献了约2倍性能提升。

“查询优化本质上是个NP完全问题,”关涛解释,“一个包含10个表的Join查询,理论上有超过17万种可能的Join顺序。这种复杂性使得寻找最优执行计划异常困难,尤其在统计信息不足的情况下。”

传统大数据引擎如Spark和Flink主要依赖规则基础优化器(RBO),预定义转换规则如谓词下推、列裁剪等。“规则优化在简单查询上效果尚可,但面对复杂SQL时完全无法胜任。它不能根据数据特征动态调整策略,无法评估不同执行路径的实际成本差异。”

云器团队选择了自研基于Cascades模型的成本优化器(Cost Based Optimzer)方案。“这是一直以来很有挑战的题目”关涛表述,“我们团队花了两年时间才打造出生产级实现,支持精确成本评估和优化。”

云器的Cascades优化器将查询处理分为逻辑优化和物理优化两阶段,使用特殊的备忘录结构高效探索庞大的计划空间。关涛展示了部分TPC-DS中的实际测试效果:

在Q4查询中,优化器通过SubTree Merge合并了6组重复计算,降低了6倍计算量;通过Agg Pushdown将聚合操作下推,减少了91.31%的数据量,带来10倍以上加速。

在Q51查询中,Shuffle Removal技术合并并节省了5个Shuffle过程,贡献了约5倍性能提升。

“我们实现了动态过滤的四种算法和五种过滤函数组合,能针对不同数据特征选择最优方案。”相比之下,即使启用AQE功能,Apache Spark的优化器在执行计划层面仍然无法进行这种深度优化,经常出现多读和重复读的情况,导致性能差距明显。

最后,面对复杂多变的实际环境,云器还引入了学习型优化(LBO)作为补充。“当统计信息不够准确时,基于历史执行的学习模型可以弥补缺陷,”。

3. DAG直连调度:系统效率的精细优化,1.3倍提升

直连调度和自适应缓存技术各自为系统性能带来约1.3倍的提升。

直连调度模式

传统Spark采用BSP(Bulk Synchronous Parallel)模式,每个阶段完成后才开始下一阶段,中间结果需写入磁盘。直连调度引入了MPP架构的数据流特性,使数据能够在节点间直接流动,避免不必要的落盘操作。

该技术实现了三个关键优化:

  • 流水线执行:多个算子可并行工作
  • 直接内存传输:减少数据序列化/反序列化开销
  • 异步I/O处理:提高CPU利用率

云器Lakehouse同时支持BSP和MPP两种调度架构并可灵活切换。BSP模式(GP模式)适合大作业,具有更好的故障恢复能力;MPP模式(AP模式)适合小作业,性能更高。在TPCDS-10TB测试中,通过网络直连实现的MPP模式显著降低了shuffle读写操作,相比BSP模式单独提升了约30%的性能。

关涛认为,“一套引擎融合两种调度模式的架构有望成为行业未来的主流方向。”

自适应缓存:

通过在存储层之上,构建自适应的缓存层,提升IO吞吐和响应速度,能在一定程度提升性能。云器Lakehouse自带基于NVME存储的缓存系统,该系统自动根据负载加载和释放缓存。实践证明,大多数数据访问都遵循二八原则,高速缓存热数据,能有效提升性能。

本次基准测试,数据并未预先加载到缓存(cold run),而是在测试运行过程中,随数据访问逐步加载。实验结果表明,相比完全关闭缓存,上述自适应缓存能带来30%的提升。

技术发展与未来方向

回顾本文对云器Lakehouse各层优化的剖析,我们可以清晰看到其十倍性能提升并非源自单一技术突破,而是全栈式创新的综合结果。从存储层的格式优化与自研读取器,到智能数据缓存机制,再到运行时的多项关键改进,每一环节都经过精心设计与调优。

如果将这一性能突破放在大数据技术演进的历史背景中,“我们认为这是Lambda架构范式向Kappa架构,传统批处理到更有时效数据的处理——基于通用增量计算范式的转变。关涛谈到“之前,从Hadoop到Spark的演进带来了约10倍性能提升。如今,从Spark到新一代引擎同样实现了10倍提升,但路径更加多元化,涉及全栈优化。这反映了大数据技术的成熟度提升,创新不再来自单一突破,而是系统工程的整体提升。”

据关涛透露,云器团队正在研发更多性能优化技术,包括GPU加速、自适应执行计划、机器学习辅助优化等方向,预计未来两年内将带来额外2-3倍的性能提升。

“性能优化是永无止境的旅程,云器Lakehouse的10倍性能只是一个里程碑,而非终点。”

最后,就像关涛在演讲中引用Clickhouse的报告中的一段话,“TLDF: All Benchmarks are Liars”。性能指标是针对特定场景的测试。而真正重要的是在用户实际场景中体现的性能。云器Lakehouse在国内外多云上提供服务,欢迎大家试用,用自己的场景和数据,验证上述性能优化。

相关文章
|
22天前
|
人工智能 弹性计算 安全
阿里云/本地部署 OpenClaw 步骤+免费大模型接入指南,新手必装下载量 TOP30 Skill精选分享
OpenClaw的能力边界完全由Skill体系决定,面对ClawHub中数量庞大的技能列表,新手往往难以判断哪些真正具备长期使用价值。本文基于2026年3月最新下载量排行,筛选出30款经过大量用户验证的实用技能,按通用能力、效率增强、垂直场景三层分类整理,同时提供2026年阿里云ECS、MacOS、Linux、Windows11全平台部署流程,以及阿里云百炼Coding Plan免费大模型API配置方法,所有命令可直接复制执行,无冗余表述,帮助用户快速搭建稳定高效的智能体环境。
376 0
|
NoSQL 搜索推荐 openCL
【C/C++ 调试 GDB指南 】gdb调试基本操作
【C/C++ 调试 GDB指南 】gdb调试基本操作
1092 2
|
开发工具 git
vscode 查看git提交日志
vscode 查看git提交日志
2044 0
|
SQL 消息中间件 Kafka
流数据湖平台Apache Paimon(二)集成 Flink 引擎
流数据湖平台Apache Paimon(二)集成 Flink 引擎
2381 0
|
18天前
|
SQL 人工智能 BI
AI + Data中的 Semantic View:从语义层到 AI 可用的“业务语言”
本文面向数据平台/数仓/湖仓架构师等角色,深入解析AI时代数据平台的刚需——Semantic View(语义视图)。它并非普通SQL视图,而是将业务指标、维度、关系、口径规则等结构化沉淀为可治理、可复用、AI-ready的平台级资产,统一BI、Notebook与Agent的数据“真相接口”,解决多工具口径不一、LLM幻觉、治理难落地等核心痛点。(239字)
269 0
|
22天前
|
存储 数据采集 机器学习/深度学习
什么是湖仓一体数据平台?怎么构建湖仓一体数据平台
湖仓一体数据平台是融合数据湖与数据仓库优势的云原生架构,以低成本对象存储为基础,支持结构化/半结构化/非结构化数据统一存储,提供ACID事务、存算分离、Serverless弹性计算、统一元数据及强数据治理能力,兼顾BI分析、机器学习与实时处理,降本增效,消除数据孤岛与重复。(239字)
157 0
|
22天前
|
SQL 存储 Java
美团 x 云器|从美团BI平台升级看数据引擎架构升级演进路径
美团BI平台基于云器Lakehouse完成引擎升级,以Single-Engine统一架构替代原有三套异构引擎,实现“不搬数据、不改SQL、不迁任务”的平滑演进。性能提升3倍、架构精简2/3,支撑万亿级数据实时分析与智能用数。
437 0
|
10月前
|
SQL 存储 消息中间件
Trino权威指南
Trino(原Presto SQL)是一款开源分布式SQL查询引擎,专为大数据联邦查询设计。它支持秒级查询PB级数据,可无缝对接Hive、MySQL、Kafka等20+异构数据源。其核心特性包括高速查询、弹性扩展和低成本使用,适合交互式分析与BI场景。Trino采用无共享架构,通过列式内存格式和动态代码生成优化性能,并提供丰富的连接器实现计算存储分离,最大化下推优化以提升效率。
1717 3
|
6月前
|
Arthas 数据可视化 Java
深入理解JVM《火焰图:性能分析的终极可视化利器》
火焰图是Brendan Gregg发明的性能分析利器,将复杂调用栈可视化为“火焰”状图形,直观展示函数耗时与调用关系。通过宽度识别热点函数,结合async-profiler或Arthas工具生成,助力快速定位CPU、内存等性能瓶颈,提升优化效率。
|
Java 测试技术 数据库
使用benchmarksql测试数据库处理能力
传统的OLTP业务,应用系统使用 java 开发,并且不建议使用存储过程,使用 benchmarksql 压测数据库最公平,既可以测试数据库性能,也可以测试JDBC驱动
850 88