主要观点:
- 像 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 核心是布局树定义数据划分和重组,可指定可修剪或延迟加载部分。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。