列式存储格式的实证评估

摘要:现代数据分析系统的核心组成之一是列存储。尽管许多数据库管理系统(DBMS)具有专有的存储格式,但大多数都提供对开源存储格式(如Parquet和ORC)的广泛支持,以便实现跨平台数据共享。但是,这些格式早在2010年代初就已经开发出来,适用于Hadoop生态系统。自那时以来,硬件和工作负载的技术都发生了重大变化。 在本文中,我们重新审视了最广泛采用的开源列存储格式(Parquet和ORC),深入探讨了它们的内部结构。我们设计了一个基准测试,以不同的工作负载配置下压力测试这些格式的性能和空间效率。通过对Parquet和ORC的全面评估,我们确定了对于现代硬件和真实数据分布有利的设计决策。这些决策包括默认使用字典编码,优先考虑整数编码算法的解码速度而不是压缩比率,使块压缩成为可选择项,以及嵌入更细粒度的辅助数据结构。我们的分析确定了重要的考虑因素,可以指导未来的格式更好地适应现代技术趋势。

作者:Xinyu Zeng, Yulong Hui, Jiahong Shen, Andrew Pavlo, Wes McKinney, Huanchen Zhang

论文ID:2304.05028

分类:Databases

分类简称:cs.DB

提交时间:2023-04-12

PDF 下载: 英文版 中文版pdf翻译中