five

Bendset Dataset

收藏
github2025-12-31 更新2026-01-05 收录
下载链接:
https://github.com/databendlabs/bendset
下载链接
链接失效反馈
官方服务:
资源简介:
Bendset是一个匿名的Databend查询工作负载数据集,旨在便于研究大规模云数据仓库行为。该数据集捕获了在2025年12月9日至2025年12月11日期间执行的3900万条生产查询,并提供了脚本以从您自己的Databend历史表中重新生成精选的CSV文件或生成新的切片。

Bendset is an anonymous Databend query workload dataset designed to facilitate research on large-scale cloud data warehouse behaviors. This dataset captures 39 million production queries executed between December 9 and December 11, 2025, and provides scripts to regenerate curated CSV files from your own Databend history tables or generate new slices.
创建时间:
2025-12-30
原始信息汇总

Bendset 数据集概述

数据集基本信息

  • 数据集名称:Bendset
  • 数据来源:Databend 查询工作负载
  • 数据状态:匿名化处理
  • 数据规模:包含 3900 万条生产查询记录
  • 时间范围:2025年12月9日至2025年12月11日
  • 数据格式:CSV 文件
  • 公开快照地址:https://sharing.databend.cloud/bendset/bendset-2025-12-11.tar.gz
  • 许可证:参见数据集中的 LICENSE 文件

数据内容与结构

数据来源表

  • system_history.query_history
  • system_history.profile_history
  • 通过查询ID将上述两表连接,使执行性能指标与用户可见的统计信息并存。

数据粒度

  • 每行数据代表一条查询记录。
  • 记录包含时序、I/O、资源使用、队列、结果大小、匿名化的数据库/用户标识符以及从性能剖析中提取的操作符指标。

主要数据字段

标识与分类

  • query_id:每条查询日志条目的唯一标识符(UUID 或哈希值),也是跨表连接键。
  • current_database:源数据库名称的 MD5 哈希值(为保护隐私)。
  • sql_user:经过身份验证的 SQL 用户的 MD5 哈希值。
  • query_kind:语句类别,如 QueryCopyIntoTable 等。
  • log_type_name:历史记录行捕获的生命周期阶段(例如 FinishException)。

时间信息

  • query_start_time:查询开始运行的 UTC 时间戳。
  • event_time:历史事件被记录的 UTC 时间戳(通常是完成时间)。
  • query_queued_duration_ms:在执行前于调度器中等待的毫秒数。
  • query_duration_ms:执行所花费的毫秒数(介于开始和完成之间)。

扫描与写入量

  • scan_rows:从存储中扫描的总行数。
  • scan_bytes:从存储中扫描的总字节数。
  • scan_io_bytes_cost_ms:扫描的 I/O 成本估算(毫秒)。
  • written_rows:查询持久化到存储的行数。
  • written_bytes:写入存储的字节数。
  • written_io_bytes:写入 I/O 操作期间传输的字节数。
  • written_io_bytes_cost_ms:写入的 I/O 成本估算(毫秒)。

结果与资源

  • result_rows:返回给客户端的行数。
  • result_bytes:返回给客户端的字节数。
  • peek_memory_usage:每个片段峰值内存使用量的总和,源自 VARIANT 性能剖析数据。
  • node_num:为查询执行记录的片段/操作符数量。

性能剖析聚合指标

  • cpu_time_sum:聚合的计划节点统计信息报告的总 CPU 时间。
  • scan_bytes_from_local_disk_sum:从本地磁盘缓存读取的字节数。
  • scan_bytes_from_data_cache_sum:从 Databend 数据缓存层提供的字节数。
  • scan_bytes_from_remote_sum:从远程对象存储扫描的字节数。
  • hash_join_nodes:名称包含 HashJoin 的计划节点数量,作为连接复杂性的代理指标。
  • aggregate_partial_nodes:在性能剖析中遇到的部分聚合节点数量。
  • sort_nodes:观察到的排序操作符数量。
  • produced_rows:根节点产生的行数(当性能剖析报告 OutputRows 时与之匹配)。

数据获取与使用

快速开始

  1. 下载公开快照: bash curl -LO https://sharing.databend.cloud/bendset/bendset-2025-12-11.tar.gz tar -xzf bendset-2025-12-11.tar.gz

  2. 从自有 Databend 历史服务生成新数据切片(可选)

    • 使用 bendset.py 脚本。
    • 需设置环境变量 DATABEND_DSN
    • 脚本会流式读取每小时窗口的数据,连接查询和性能剖析历史,并写入 CSV 块(如 result.data_0, result.data_1, …)。

脚本工具

  • bendset.py:默认入口点。通过 databend_driver 连接,从历史表读取每小时窗口,聚合操作符统计信息,并输出 CSV 块。关键选项包括 --dsn, --start, --end, --db(默认为 system_history), --output, --step, 和 --debug
  • main.py:分发包时使用的轻量级占位符;实际工作负载应调用 bendset.py

数据特性与说明

模式说明

  • 导出的 CSV 中的每一列都与 bendset.py 生成的名称匹配。
  • 数字字段被规范化为浮点数以避免 NaN 漂移。
  • peek_memory_usage 通过对每个片段的峰值求和,从 query_history 中的 VARIANT 列派生而来。
  • produced_rows 反映了根计划节点的输出基数(当性能剖析报告 OutputRows 时)。
  • 时间戳为 UTC 格式,格式为 %Y-%m-%d %H:%M:%S

性能剖析时间序列扩展

  • 主数据集包含聚合的每查询指标。
  • 可以通过使用 --debug 重新运行 bendset.py 并在聚合前对 profiles 列进行后处理,来重新生成时间序列扩展。
  • 每个性能剖析条目由描述在给定时刻哪些查询处于活动状态的 (timestamp, query_id) 对组成,允许进行诸如并发查询计数或 CPU 使用量包络线等分析。

限制与隐私

  • 采样窗口:公开快照仅覆盖三天。使用脚本并配合您自己的 DSN 可以获取更长的窗口。
  • 隐私:面向用户的标识符(current_database, sql_user)经过 MD5 哈希处理以保持匿名性。不包含查询文本。
  • 模式漂移:未来的 Databend 版本可能会添加或重命名历史列。针对您的目标版本重新运行脚本以重新生成一致的数据。
搜集汇总
数据集介绍
main_image_url
构建方式
Bendset数据集作为云数据仓库行为研究的重要资源,其构建过程体现了对大规模查询日志的系统性处理。该数据集源自Databend生产环境中的历史表,通过精心设计的脚本将`system_history.query_history`与`system_history.profile_history`进行关联整合。构建流程以查询事件为基本单元,逐行提取时间戳、资源消耗及执行特征等多维度指标,并采用MD5哈希算法对数据库和用户标识进行匿名化处理,确保数据隐私安全。最终生成的CSV文件按时间顺序排列,完整保留了查询生命周期中的关键统计信息。
使用方法
研究人员可通过下载预处理的CSV归档文件直接开展分析工作,也可利用配套脚本从自有Databend实例中生成定制化数据切片。使用流程需配置数据库连接参数,指定时间范围后运行脚本即可自动提取历史数据并进行关联聚合。数据集支持时间序列扩展分析,通过调试模式可获取查询活动的瞬时剖面信息,便于研究并发查询模式。在实际应用中,建议结合示例文件验证数据解析逻辑,并注意不同版本Databend可能存在的模式演化问题。
背景与挑战
背景概述
在云计算与大数据分析领域,数据仓库的查询性能优化与资源管理一直是核心研究议题。Bendset数据集由Databend社区于2025年12月发布,旨在提供匿名化的云数据仓库查询工作负载,以支持大规模系统行为研究。该数据集捕获了2025年12月9日至11日期间执行的3900万条生产查询,深度融合了查询历史与性能剖析数据,为学术界与工业界提供了真实场景下的多维性能指标。其核心研究问题聚焦于云原生数据仓库的查询特征分析、资源消耗模式识别以及执行效率评估,对数据库系统优化、自适应调度算法及成本建模等领域具有显著推动力。
当前挑战
Bendset数据集致力于解决云数据仓库查询性能分析与优化中的关键挑战,包括复杂查询工作负载的建模、资源利用效率的量化以及执行瓶颈的定位。在构建过程中,面临诸多技术难题:首先,需确保大规模查询日志的高效采集与匿名化处理,在保护用户隐私的同时保留足够的分析维度;其次,历史数据与实时性能剖析信息的精准关联要求跨系统表的复杂连接与聚合,以消除时序偏差与数据不一致性。此外,数据模式的动态演化与版本兼容性亦构成持续挑战,需通过可复现的脚本机制适应底层系统的迭代更新。
常用场景
经典使用场景
在云数据仓库性能优化领域,Bendset数据集为研究者提供了大规模查询工作负载的实证分析基础。其经典使用场景聚焦于对查询执行行为的深度剖析,例如通过时序分析揭示查询排队与执行时长的动态关联,或利用资源使用指标(如CPU时间、内存峰值)评估不同查询类型对系统负载的影响。这些分析有助于构建性能基准模型,为优化查询调度与资源分配策略提供数据支撑。
解决学术问题
该数据集有效解决了云数据仓库系统中若干关键学术问题,包括查询性能瓶颈的量化诊断、多租户环境下的资源隔离效率评估,以及执行计划复杂性与实际开销的关联性研究。通过整合查询历史与性能剖析数据,研究者能够深入探究I/O成本、缓存效率及算子级指标对整体延迟的贡献,从而推动自适应优化算法与成本模型的理论发展,对提升大规模分析系统的可预测性与效率具有重要科学意义。
实际应用
在实际工程场景中,Bendset数据集被广泛应用于云数据仓库的运维监控与容量规划。企业可依据其提供的查询耗时、扫描字节数及队列延迟等指标,构建实时性能预警系统,识别异常查询模式。同时,该数据集支持存储与计算资源的弹性伸缩策略验证,帮助运维团队基于历史负载模拟未来流量,优化硬件配置与成本支出,提升云服务的稳定性和经济效益。
数据集最近研究
最新研究方向
在云数据仓库性能优化领域,Bendset数据集凭借其涵盖3900万条生产查询的庞大规模,为研究大规模查询工作负载提供了前所未有的实证基础。当前前沿研究聚焦于利用该数据集的多维度指标,如查询排队时间、CPU使用率及I/O成本,深入探索云原生架构下的资源调度与查询性能预测模型。结合热点事件如云服务商对实时分析需求的激增,该数据集助力学者构建更精准的负载特征画像,推动自适应优化算法的演进,对提升数据仓库的能效与可靠性具有深远意义。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作