[论文解读] Workload-Driven Vertical Partitioning for Effective Query Processing over Raw Data
本文提出一种工作负载驱动的两阶段启发式方法,用于原始数据的垂直分区,以在存储约束下最小化查询处理时间。通过将部分加载建模为二值垂直分区并使用混合整数规划(MIP),该方法优化了应加载的属性,实现近似最优性能,且计算时间仅为精确MIP求解所需时间的极小部分,在真实世界的CSV、FITS和JSON工作负载上进行了验证。
Traditional databases are not equipped with the adequate functionality to handle the volume and variety of "Big Data". Strict schema definition and data loading are prerequisites even for the most primitive query session. Raw data processing has been proposed as a schema-on-demand alternative that provides instant access to the data. When loading is an option, it is driven exclusively by the current-running query, resulting in sub-optimal performance across a query workload. In this paper, we investigate the problem of workload-driven raw data processing with partial loading. We model loading as fully-replicated binary vertical partitioning. We provide a linear mixed integer programming optimization formulation that we prove to be NP-hard. We design a two-stage heuristic that comes within close range of the optimal solution in a fraction of the time. We extend the optimization formulation and the heuristic to pipelined raw data processing, scenario in which data access and extraction are executed concurrently. We provide three case-studies over real data formats that confirm the accuracy of the model when implemented in a state-of-the-art pipelined operator for raw data processing.
研究动机与目标
- 为解决大数据工作负载中传统基于模式的加载方式效率低下问题,即未使用的属性被重复复制并存储,造成巨大成本。
- 将原始数据的部分加载建模为具有完整复制的二值垂直分区问题,以实现对加载属性的优化。
- 设计一种可扩展的两阶段启发式方法,以显著减少计算时间的方式近似最优分区。
- 将优化与启发式方法扩展至流水线原始数据处理场景,其中数据访问与提取并行进行。
- 使用最先进的流水线算子,在真实世界数据格式(CSV、FITS、JSON)上验证模型的准确性和启发式方法的性能。
提出的方法
- 将部分加载问题建模为线性混合整数规划(MIP),证明其为NP难问题且不可逼近。
- 设计两阶段启发式方法:第一阶段,通过选择能覆盖最多查询的属性来最大化查询覆盖率;第二阶段,根据使用频率优先级对属性进行排序,以优化分区。
- 将MIP公式和启发式方法适配至流水线处理场景,其中数据被并行访问和提取,从而减少I/O瓶颈。
- 在流水线算子中实现该方法,用于原始数据处理,支持并行数据访问与属性提取。
- 使用真实世界工作负载(例如SDSS目录上的100万条查询)评估性能与真实执行结果的准确性。
- 利用现有关系型数据库管理系统(RDBMS)功能,如BLOB存储和动态模式提升,同时最小化冗余数据复制。
实验结果
研究问题
- RQ1工作负载驱动的原始数据垂直分区能否在尊重存储预算约束的前提下显著减少查询处理时间?
- RQ2如何将部分加载建模为具有完整复制的二值垂直分区问题,以实现优化?
- RQ3两阶段启发式方法能否在远少于精确MIP求解所需时间的分数之一内实现接近最优的性能?
- RQ4在数据访问与提取并行进行的流水线处理场景中,所提模型的性能如何?
- RQ5MIP公式在多大程度上准确反映了真实流水线原始数据处理算子的执行特征?
主要发现
- 所提出的两阶段启发式方法在远短于精确MIP求解所需时间的极短时间内,实现了与最优MIP解非常接近的查询执行时间,使其在真实工作负载中具有实际可行性。
- MIP公式被证明为NP难且不可逼近,这为在可扩展部署中使用启发式方法提供了合理依据。
- 在SDSS目录的案例研究中,仅509个属性中的74个出现在查询中,但完整复制导致了巨大的存储浪费——凸显了工作负载感知加载的必要性。
- 在CSV、FITS和JSON等真实数据格式上,该启发式方法在查询处理效率和可扩展性方面优于现有垂直分区算法。
- 针对流水线处理的扩展公式能准确建模并行数据访问与提取,显著提升了真实场景中的I/O效率。
- 使用最先进的流水线算子进行验证,结果表明该模型能准确捕捉低级别执行细节,支持其在生产系统中的应用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。