总结
核心观点与架构概述
MemVerge PMEM Elastify Cloud-Native Spark 应用程序旨在构建一种 PB 级弹性数据仓库,通过快速部署、资源弹性、高性能和经济高效的特点,实现云数据仓库的优化。系统采用三种节点类型(Master、Core 和 Elastic),支持弹性节点的 Scale-in/Scale-out,并集成 YARN 和 HDFS 等组件。
关键挑战与解决方案
弹性部署面临计算节点无状态导致的任务中断和洗牌 I/O 分离等问题。解决方案包括:
- 优雅节点分解:通过 YARN-914 优化节点退役过程,确保任务平滑过渡。
- 独立洗牌服务:使用 Shuffle Manager 分离洗牌 I/O 与特定网络/存储,支持可配置的网络传输和后端存储。
技术亮点与性能优势
- Spark 集成:扩展 RDD 持久化 API,支持 Hadoop 兼容存储和新的通用洗牌管理器。
- PMEM 优化:通过远程 PMEM 缓存和存储数据源,显著提升性能。
- HiBench Wordcount 测试:PMEM 相比 SSD 减少约 2.2 倍时间消耗。
- 生产环境应用:支持 10 个计算节点 + 1 个远程 PMEM 节点的数据仓库负载。
- 洗牌优化:利用 PMEM 缓存洗牌数据,降低 I/O 压力。
数据湖与未来方向
系统支持从数据仓库扩展至数据湖,集成 HiveMetastore、Livy 等组件,覆盖数据管理、BI 和机器学习场景。
研究进展与展望
当前工作包括 TPC-DS 性能研究、云就绪性(容器/虚拟机支持)等。MemVerge 与腾讯云合作,通过 PMEM 技术降低成本、提升可扩展性,推动数据中心向数据驱动转型。