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.
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)




