Redbench
收藏arXiv2025-06-14 更新2025-06-19 收录
下载链接:
https://github.com/utndatasystems/redbench
下载链接
链接失效反馈官方服务:
资源简介:
Redbench是一个基于Redset构建的重复感知基准测试集,Redset是Redshift发布的客户查询元数据,涵盖了3个月和200个集群的数据。Redbench通过从Redset中采样具有不同工作负载配置的用户,并从支持基准中采样相似的查询来重新创建这些工作负载。该数据集旨在捕捉现实世界分析工作负载的关键特征,以促进工作负载感知优化和实例优化系统的研究。Redbench具有30个workload,每个workload都反映了现实世界中的查询模式,并且能够保留如表扫描重复性和查询相对复杂性等关键工作负载特征。
Redbench is a repeatability-aware benchmark dataset built on Redset. Redset is customer query metadata released by Redshift, covering data from a 3-month period and 200 clusters. Redbench recreates these workloads by sampling users with distinct workload configurations from Redset and sampling similar queries from supporting benchmarks. This dataset is designed to capture the core characteristics of real-world analytical workloads, thereby facilitating research on workload-aware optimization and instance-optimized systems. Redbench includes 30 workloads, each of which reflects real-world query patterns and retains key workload features such as table scan repeatability and relative query complexity.
提供机构:
德国纽伦堡技术大学
创建时间:
2025-06-14
原始信息汇总
Redbench数据集概述
数据集简介
- Redbench是一组包含30个分析型SQL工作负载的基准测试集
- 用于评估工作负载驱动的优化效果
- 基于真实生产查询模式构建,数据来源:
- Redset(Amazon Redshift发布的查询元数据集)
- Join Ordering Benchmark (JOB)
- Cardinality Estimation Benchmark (CEB)
- 运行环境:IMDb数据库
设计动机
- 解决现有基准测试(JOB/CEB)无法准确反映重复查询模式的问题
- 更好体现生产系统中观察到的查询行为特征
构建方法
- 将Redset用户按查询重复性分为10组
- 每组选取3个"典型"用户
- 从JOB和CEB中采样相似查询进行逆向工程
- 考虑连接数量和扫描表集合
- 最终生成30个工作负载
文件结构
workloads/:包含30个工作负载文件(CSV格式)figures/:包含JOB/CEB/Redset的汇总图表DETAILS.md:详细生成方法说明
使用说明
基础设置
bash pip install -r requirements.txt python setup.py
运行测试
bash curl https://install.duckdb.org | sh python run.py
自定义运行
- 在其他系统设置IMDb数据库
- 修改
run.py中的执行命令
重新生成
bash python gen.py
性能指标
| 查询重复率区间 | 总执行时间 |
|---|---|
| 0%-10% | 0:00:23.385233 |
| 10%-20% | 0:00:33.803160 |
| ... | ... |
| 90%-100% | 0:05:24.071659 |
许可协议
- 软件部分:MIT License
- 数据部分:CC BY-NC 4.0
- 数据来源:Redset(CC BY-NC 4.0)
搜集汇总
数据集介绍

构建方式
Redbench数据集通过采样Redset中的用户查询模式构建,Redset是Redshift发布的客户查询元数据,涵盖3个月和200个集群的数据。构建过程中,首先对Redset查询进行预过滤,仅保留SELECT查询,并排除结果缓存中的查询。随后,根据查询重复率将用户分为10个桶,每个桶选择3个用户,共30个用户。通过支持基准(如TPC-DS或IMDb)的查询模板和实例,重新生成这些用户的工作负载,确保查询重复率和扫描集特性得以保留。
特点
Redbench数据集的核心特点在于其真实性和多样性。它反映了实际生产环境中的查询模式,特别是查询重复率和分布变化,这些特性在传统基准测试中往往缺失。数据集包含30个工作负载,覆盖了从低到高的查询重复率范围,确保了广泛的适用性。此外,Redbench支持多种基准测试(如TPC-DS和IMDb),使其具有高度的灵活性和可扩展性。
使用方法
Redbench数据集主要用于评估实例优化组件和工作负载感知优化算法的性能。研究人员可以通过加载Redbench提供的工作负载,测试其系统在真实查询模式下的表现。数据集支持多种基准测试实例化,用户可以根据需求选择合适的支持基准。此外,Redbench的未来版本计划引入时间戳和更新操作,进一步增强其在实时测试和复杂工作负载评估中的实用性。
背景与挑战
背景概述
Redbench是由德国纽伦堡技术大学的Skander Krid、Mihail Stoian和Andreas Kipf于2025年提出的一个基准测试数据集,旨在反映真实工作负载中的查询模式。该数据集基于Redset(Redshift发布的客户查询元数据),通过采样和映射机制生成了30个工作负载,填补了现有基准测试(如TPC-H、TPC-DS)无法准确模拟真实工作负载分布漂移和查询重复性的空白。Redbench的提出为实例优化系统和学习驱动优化组件的开发提供了更真实的测试环境,推动了数据库性能评估领域的发展。
当前挑战
Redbench面临的挑战主要包括两个方面:领域问题挑战和构建过程挑战。在领域问题方面,Redbench需解决真实工作负载中查询重复性、分布漂移以及表扫描重复性等问题,这些问题直接影响实例优化组件的性能评估。在构建过程中,挑战包括如何从Redset中采样用户工作负载并准确映射到支持基准测试(如TPC-DS或IMDb),同时保持工作负载的关键特征(如查询重复率和扫描集结构)。此外,支持基准测试的查询模板和实例多样性不足,以及如何处理工作负载中的时间戳和峰值问题,也是构建过程中的主要难点。
常用场景
经典使用场景
在数据库性能评估领域,Redbench作为一款反映真实工作负载的基准测试工具,其经典使用场景主要集中于测试和优化实例优化的数据库组件。通过模拟真实生产环境中的查询模式,Redbench能够有效地评估数据库系统在面对多样化、动态变化的查询负载时的性能表现。特别是在处理查询重复性和工作负载漂移等现实挑战时,Redbench提供了前所未有的测试能力,使得研究人员和工程师能够更准确地预测系统在实际应用中的行为。
解决学术问题
Redbench解决了数据库研究中一个长期存在的关键问题:缺乏能够准确反映真实工作负载特性的基准测试工具。传统的基准测试如TPC-H和TPC-DS虽然广泛使用,但其合成的工作负载无法捕捉生产环境中的查询重复性和动态变化。Redbench通过基于Redset的真实查询元数据进行采样和映射,填补了这一空白,为实例优化组件的开发和验证提供了可靠的测试平台。其意义在于推动了数据库优化技术从通用型向工作负载感知型的转变,极大地提升了研究成果的实用性和可迁移性。
衍生相关工作
Redbench的推出催生了一系列重要的衍生研究工作。在查询优化领域,Marcus提出的学习型查询超级优化技术直接利用Redbench的重复查询模式进行长周期优化验证。在索引设计方面,Schmidt等人的谓词缓存研究通过Redbench的工作负载漂移特性测试了二级索引的健壮性。此外,Redbench与云分析基准CAB的集成研究开辟了弹性资源分配的新方向。这些工作共同构成了一个以真实工作负载为核心的数据库优化研究新范式,持续推动着实例优化技术的边界。
以上内容由遇见数据集搜集并总结生成



