Redbench
收藏github2025-04-02 更新2025-04-07 收录
下载链接:
https://github.com/utndatasystems/redbench
下载链接
链接失效反馈官方服务:
资源简介:
Redbench是一组包含30个分析SQL工作负载的集合,可用于基准测试工作负载驱动的优化。这些工作负载通过利用运行在IMDb数据库上的Join Ordering Benchmark (JOB)和Cardinality Estimation Benchmark (CEB),模拟了来自Redset(Amazon Redshift发布的查询元数据数据集)的真实生产查询。
Redbench is a collection of 30 analytical SQL workloads intended for benchmarking workload-driven optimization. These workloads simulate real production queries from Redset, a query metadata dataset released by Amazon Redshift, by leveraging the Join Ordering Benchmark (JOB) and Cardinality Estimation Benchmark (CEB) executed on the IMDb database.
创建时间:
2025-03-14
原始信息汇总
Redbench数据集概述
数据集简介
- Redbench是一组包含30个分析型SQL工作负载的基准测试集
- 用于评估工作负载驱动优化的效果
- 基于真实生产环境查询模式构建,数据来源:
- Redset(Amazon Redshift发布的查询元数据集)
- Join Ordering Benchmark (JOB)
- Cardinality Estimation Benchmark (CEB)
核心特点
- 反映生产系统中观察到的查询行为
- 弥补现有基准测试在重复查询模式表示上的不足
- 包含10个查询重复性分组的30个工作负载
数据生成方法
- 将Redset用户按查询重复性分为10组
- 每组选取3个"有代表性"用户
- 从JOB和CEB中采样相似查询进行逆向工程
- 考虑连接数量和扫描表集合
文件结构
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
输出示例
显示10个重复性分组的执行时间统计
自定义运行
支持在其他数据库系统运行:
- 设置IMDb数据库
- 修改
run.py中的一行代码
许可信息
- 软件部分:MIT许可证
- 数据部分:CC BY-NC 4.0许可证
- 基于Redset的统计数据(CC BY-NC 4.0许可)
搜集汇总
数据集介绍

构建方式
在数据库优化领域,Redbench的构建采用了创新的逆向工程方法。该数据集基于Amazon Redshift的Redset查询元数据,通过对Join Ordering Benchmark和Cardinality Estimation Benchmark中相似查询的采样,模拟了真实生产环境中的查询模式。研究团队首先将Redset用户按查询重复性聚类为10组,每组选取3个典型用户,综合考虑连接数量和扫描表集合等特征,最终生成30个具有代表性的SQL工作负载。
使用方法
使用Redbench需要先通过pip安装依赖项并运行setup.py解压工作负载文件。数据集支持在DuckDB等数据库系统上运行,用户只需简单修改run.py中的配置即可适配不同环境。对于希望深入研究的研究者,项目提供了gen.py脚本用于重新生成工作负载,所有工作负载文件均以CSV格式存储,便于进一步分析和处理。
背景与挑战
背景概述
Redbench数据集由亚马逊科学研究院于近年推出,旨在解决数据库领域中对真实生产环境中重复查询模式模拟不足的问题。该数据集基于Redset的查询元数据,结合了Join Ordering Benchmark (JOB)和Cardinality Estimation Benchmark (CEB)的核心元素,构建了30个模拟真实工作负载的分析型SQL查询集。通过逆向工程方法,研究团队将Redset用户按查询重复性分为10组,并从中抽取典型用户查询模式,最终形成具有代表性的基准测试集。这一创新填补了传统基准测试在反映实际生产系统查询行为方面的空白,为数据库优化算法的评估提供了更贴近现实的测试平台。
当前挑战
Redbench面临的挑战主要体现在两个方面:在领域问题层面,如何准确捕捉生产系统中复杂多变的查询重复模式,并转化为可量化的评估指标,这对数据库性能优化研究提出了更高要求;在构建过程层面,从海量Redset元数据中识别有代表性的查询模式,并保持与JOB、CEB基准的兼容性,需要精妙的聚类算法和采样策略设计。此外,确保生成的工作负载既能反映真实场景的统计特性,又具备足够的运行效率,也是数据集构建者需要平衡的技术难点。
常用场景
经典使用场景
在数据库优化研究领域,Redbench数据集通过模拟真实生产环境中的查询模式,为研究者提供了一个高度仿真的测试平台。其基于IMDb数据库构建的30个分析型SQL工作负载,特别适合用于评估查询优化算法的性能。这些工作负载覆盖了从低重复率到高重复率的各类查询场景,使得研究者能够全面检验优化策略在不同查询模式下的表现。
解决学术问题
Redbench有效解决了传统基准测试无法准确反映真实工作负载重复模式的难题。通过聚类Redset用户查询行为并逆向工程生成测试用例,该数据集为研究重复查询模式下的优化技术提供了可靠数据基础。这一创新显著提升了研究工作负载驱动优化的科学性,填补了现有基准测试与实际生产系统之间的鸿沟。
实际应用
在实际数据库系统中,Redbench可直接用于测试和比较不同的查询优化方案。云数据库服务提供商可借助该数据集评估其优化器的性能表现,特别是在处理重复性查询时的效率提升。数据工程师也能利用这些工作负载来预测新优化策略在生产环境中的潜在效果,从而降低实际部署风险。
数据集最近研究
最新研究方向
在数据库优化领域,Redbench数据集因其对真实生产环境中重复查询模式的精准模拟而备受关注。该数据集通过聚类Redset用户查询行为,并基于JOB和CEB基准逆向工程生成30种典型工作负载,为研究重复查询模式驱动的优化策略提供了重要实验平台。当前研究热点集中在如何利用此类模式识别技术改进查询计划缓存、基数估计和连接顺序优化等核心数据库性能问题。随着云原生数据库和HTAP系统的普及,Redbench为评估混合负载下的资源调度算法提供了标准化测试场景,其基于实际生产数据的特点尤其有助于解决传统基准测试与真实场景脱节的问题。
以上内容由遇见数据集搜集并总结生成



