数据布局:字节的永恒归宿所在

主要观点:

  • 像 Apache Parquet 等文件格式常被忽视其背后的研究和基础,在构建新一代列文件格式 Vortex 时,有必要回顾历史并质疑过去的假设。
  • 数据库存储模型从顺序存储(NSM)到列存储(DSM)不断演进,如今多数用于分析的文件格式遵循 PAX 设计模式,但仍存在挑战。
  • 分析工作负载常采用 PAX 式文件格式以提高性能,但这种优化依赖数据变化缓慢的假设,高频率写入时会有问题,需进行压缩,很多基于 Parquet 的系统采用辅助文件格式。
  • 远程对象存储时代,传统文件格式的访问模式不再最优,如很多图像格式在对象存储中效率低下,WebDataset 等专门格式应运而生。
  • 不同存储范式表明单一数据布局并非万能,Vortex 旨在利用历史教训,允许实验数据布局,简化实验,解锁性能提升研究。

关键信息:

  • 早期数据库主要是顺序存储,后有 PAX 突破,如今多数分析文件格式遵循 PAX 模式。
  • Apache Parquet 等列文件格式虽有优势但也存在列宽差异等问题。
  • PAX 式格式在高频率写入时性能不佳,需引入其他支持快速行访问的格式。
  • 远程对象存储中传统文件格式访问效率低,WebDataset 等专门格式可优化。
  • Vortex 设计可灵活定制数据布局,平衡多种需求,未来将详细探讨其数据读取处理。

重要细节:

  • PAX[1]融合了两种存储模型的优势,后来研究证实 DSM 模型与 SIMD 加速执行结合可提升性能。
  • Apache Parquet 的 row group 能维持行的局部性但处理大量或变宽列时有挑战。
  • 数据分析工作负载采用 PAX 式格式优化性能,但高频率写入时需压缩。
  • TFRecord 是面向机器学习的行式格式,用于训练任务。
  • 传统文件格式在对象存储中访问成本高,WebDataset 可随机访问和高效流式传输。
  • Vortex 核心是布局树定义数据划分和重组,可指定可修剪或延迟加载部分。
阅读 11
0 条评论