• TPC-H
  • TPC-DS
  • TPC-DI
  • Star Schema Benchmark
  • AMPLab
  • Join Order Benchmark
  • ClickBench
  • H2ODB
  • CoffeeShop
  • NYC Taxi
  • Flight Data
  • TSBS DevOps
  • Read Primitives
  • Write Primitives
  • Transaction Primitives
  • Metadata Primitives
  • AI Primitives
  • Vector Search
  • TPC-Havoc
  • TPC-H Skew
  • TPC-DS-OBT
  • Data Vault
Open-source OLAP benchmarkingCLI · Python library · MCP

Run Your Own Benchmarks

Everyone says you should. BenchBox makes it easy to do. Use as CLI, Python library, or MCP for AI assistants. No Docker. No compilers. Just pip install.

CLI, Library, or MCP
# CLI - Quick benchmarking
benchbox run --platform duckdb --benchmark tpch

# MCP - AI assistant integration
"Run TPC-H on DuckDB" # Claude executes via MCP

# Library - Deep Python integration
from benchbox import TPCH

From measurements to answers

Explore and Compare Benchmark Results

The Results Explorer turns BenchBox output into a browsable view of performance. Use the public corpus to understand how platforms behave on the same workload, or open your own result file in the browser before you share it.

Open the Results Explorer

TPC-H · Scale factor 10

Four DuckDB versions, one comparable cohort

View comparison ↗
Platforms
4
Queries
22
Best power
281,041
Phase
Power
VersionGeomeanPower@Size
DuckDB v2.0.0…128 ms281,041
DuckDB v1.5.5152 ms236,191
DuckDB v1.4.4168 ms213,021
DuckDB v1.3.2189 ms198,175
Latency distributionRange and middle 50% for all 22 queriesExplore ↗
v2.0.0…v1.5.5v1.4.4v1.3.270100150200300500 msLatency (log scale)
Cumulative latencyShare of queries completed by each latencyExplore ↗
0%25%50%75%100%70100150200300500 msLatency (log scale)
  • v2.0.0…
  • v1.5.5
  • v1.4.4
  • v1.3.2
  1. 01

    Find relevant runs

    Browse by benchmark or platform, then narrow the public corpus to results that match the workload and scale you care about.

  2. 02

    Compare like with like

    Compare compatible runs, inspect query-level timings, and see where one platform gains or loses time instead of relying on a single headline number.

  3. 03

    Check your own result

    Open a BenchBox result JSON file locally in the browser. Review its charts and run receipt without uploading it or adding it to the public rankings.

Workloads

Benchmarks by Category

TPC Standards

Official industry standards for comparing databases

Academic Benchmarks

Research benchmarks from academia

Industry Benchmarks

Real-world benchmarks from practitioners

Real-World Data

Benchmarks built on public real-world datasets

Time-Series Benchmarks

Workloads for time-series databases and columnar monitoring engines

BenchBox Primitives

Fundamental database operation testing

  • Read Primitives

    TPC-H schema • 136 queries

    Read operation testing across 26 categories.

  • Write Primitives

    TPC-H schema • 12 operations

    Comprehensive write operation testing including bulk loads and merges.

  • Transaction Primitives

    TPC-H schema • 12 operations

    ACID transaction testing with isolation levels, commits, and rollbacks.

  • Metadata Primitives

    10 categories • 62 queries

    Catalog introspection via INFORMATION_SCHEMA, SHOW, DESCRIBE, and PRAGMA.

  • AI Primitives

    TPC-H data • 16 queries

    SQL-based AI functions (Snowflake Cortex, BigQuery ML, Databricks AI) with cost controls.

AI & ML Benchmarks

Vector similarity and other AI-shaped analytical workloads

  • Vector Search

    Embeddings • 6 queries

    Vector similarity search with kNN, ANN, and filtered queries on embedding data.

BenchBox Experimental

Experimental benchmarks for specialized testing

  • TPC-Havoc

    TPC-H schema • 220 variants

    Query optimizer stress testing with 220 syntax variants of TPC-H queries.

  • TPC-H Skew

    TPC-H schema • Skewed data

    Test optimizer behavior on non-uniform data distributions (Zipfian, exponential).

  • TPC-DS-OBT

    1 wide table • 17 queries

    TPC-DS queries on a single denormalized "One Big Table" schema.

  • Data Vault

    21 tables • 22 queries

    TPC-H adapted for Data Vault 2.0 modeling (Hub-Link-Satellite pattern).

Engines

Supported Platforms

Single-Node Analytics Engines

In-process and local columnar databases

  • DuckDB

    Built-in • OLAP

    In-process analytical database. Built-in, no setup required.

  • ClickHouse Local (chDB)

    In-process • OLAP

    Embedded ClickHouse via chDB for in-process columnar analytics.

  • ClickHouse Server

    Self-hosted • OLAP

    Self-hosted ClickHouse for high-performance columnar analytics.

  • DataFusion

    In-process • Arrow

    Apache Arrow-native query engine for in-memory analytics.

  • CedarDB

    Single-node • OLAP

    High-performance analytical database from TUM (formerly Umbra).

Row-Based & Postgres-Compatible

Traditional relational databases

  • PostgreSQL

    OLTP/OLAP • Relational

    The world's most advanced open source relational database.

  • SQLite

    Built-in • OLTP

    Embedded transactional database for testing and CI/CD.

  • pg_duckdb

    Extension • OLAP

    DuckDB-powered Postgres extension for vectorized OLAP on Postgres tables.

  • pg_mooncake

    Extension • Lakehouse

    Columnar storage extension for Postgres with Iceberg and Delta Lake support.

Cloud Data Platforms

Enterprise cloud data warehouses and lakehouses

  • Snowflake

    Cloud • Warehouse

    Multi-cloud data warehouse with elastic compute.

  • Databricks SQL

    Cloud • Lakehouse

    Data Intelligence Platform with lakehouse architecture.

  • Google BigQuery

    GCP • Serverless

    Google Cloud serverless data warehouse.

  • ClickHouse Cloud

    Cloud • OLAP

    Managed ClickHouse with serverless and dedicated options.

  • Amazon Redshift

    AWS • Warehouse

    AWS cloud data warehouse (serverless or provisioned).

  • Amazon Athena

    AWS • Serverless

    AWS serverless query service for S3 data lakes.

  • Azure Synapse Analytics

    Azure • Analytics

    Microsoft Azure analytics service.

  • Microsoft Fabric Warehouse

    Azure • Warehouse

    Fabric SQL warehouse with OneLake-native storage.

  • SQL endpoint over Fabric lakehouses on OneLake.

  • Firebolt

    Cloud • OLAP

    Cloud data warehouse optimized for analytics.

  • Databend

    Cloud • Rust

    Open source cloud-native data warehouse written in Rust.

  • MotherDuck

    Cloud • DuckDB

    Serverless cloud DuckDB with hybrid local/cloud execution.

  • Starburst

    Cloud • Federation

    Enterprise Trino with managed cloud offering.

Distributed Query Engines

Open source MPP and federated SQL engines

  • Trino

    Distributed • Federation

    Distributed SQL query engine for federated data.

  • PrestoDB

    Distributed • Federation

    Distributed SQL query engine (Meta's fork).

  • Apache Spark SQL

    Distributed • Spark

    Distributed SQL engine for large-scale data processing.

  • Apache Doris

    MPP • Real-time

    MPP analytical database with real-time ingestion and MySQL protocol.

  • StarRocks

    MPP • Columnar

    High-performance columnar MPP engine for sub-second analytics.

  • LakeSail Sail

    Rust • Spark Connect

    Rust-based Spark-compatible engine on DataFusion via Spark Connect.

  • Apache Gluten + Velox

    Spark • Native acceleration

    Native C++ Spark acceleration layer powered by Meta's Velox.

  • SingleStore

    Distributed • HTAP

    Distributed SQL with real-time analytics and MySQL protocol.

Managed Spark Services

Cloud-managed Spark for lakehouse and data lake analytics

Time Series Databases

Optimized for time-stamped data

  • TimescaleDB

    Time-series • PostgreSQL

    Time-series database built on PostgreSQL.

  • InfluxDB

    Time-series • IoT

    Time-series database for metrics and events.

  • QuestDB

    Time-series • PG wire

    High-performance time-series database with Postgres wire protocol.

DataFrame Platforms

Native DataFrame APIs instead of SQL

  • Polars

    polars-df • Expression API

    Fast Rust-based DataFrame library with lazy evaluation.

  • Pandas

    pandas-df • Pandas API

    Reference Python DataFrame implementation.

  • PySpark DataFrame

    pyspark-df • Distributed

    Apache Spark DataFrame API for distributed computing.

  • DataFusion DataFrame

    datafusion-df • Arrow

    Arrow-native DataFrame with lazy evaluation.

  • Dask

    dask-df • Distributed

    Parallel computing library with DataFrame API.

  • cuDF (RAPIDS)

    cudf-df • GPU

    GPU-accelerated DataFrame library from NVIDIA.

  • Databricks DataFrame

    databricks-df • PySpark

    Databricks PySpark DataFrame execution on serverless or classic compute.

Storage

Open Table Formats

Convert benchmark data to modern columnar formats for optimized storage, ACID transactions, and time travel capabilities.

File Formats

Columnar storage for fast analytics

  • Apache Parquet

    Universal • 3-5x compression

    Industry-standard columnar format with universal platform support.

  • Vortex

    DuckDB/DataFusion • Best compression

    High-performance columnar format optimized for analytical workloads.

Table Formats

ACID transactions, time travel, and schema evolution

  • Delta Lake

    Databricks • Time Travel

    Open table format with ACID transactions and time travel on Parquet.

  • Apache Iceberg

    Multi-engine • Enterprise

    Modern table format with hidden partitioning and schema evolution.

  • Apache Hudi

    Streaming • Upserts

    Table format optimized for incremental processing and record-level updates.

  • DuckLake

    DuckDB Native • Time Travel

    DuckDB's native table format with ACID transactions and optimal performance.

Convert benchmark data to any format
# Convert TPC-H data to different formats
benchbox convert --input ./tpch_sf1 --format parquet
benchbox convert --input ./tpch_sf1 --format delta
benchbox convert --input ./tpch_sf1 --format iceberg
benchbox convert --input ./tpch_sf1 --format ducklake

AI agents

AI Assistant Integration

BenchBox includes an MCP (Model Context Protocol) server for Claude Code and other AI assistants. Run benchmarks with natural language instead of memorizing CLI flags.

Instruct a coding agent

Pick a surface, platform, benchmark, and scale. Copy the prompt into your coding agent. Defaults to a safe local DuckDB + TPC-H quickstart.

Open the prompt builder

Quick setup

Add to Claude Code
claude mcp add benchbox -- uv run python -m benchbox.mcp

What you can do

  • Discover

    What benchmarks are available?

    Which platforms support TPC-DS?

    Explore 22 benchmarks and 50 platforms without reading documentation.

  • Execute

    Run TPC-H on DuckDB at scale 0.1

    Compare Polars and Pandas on SSB

    Run benchmarks without memorizing CLI syntax or options.

  • Analyze

    Which queries were slowest?

    Compare results from my last two runs

    Get AI-powered analysis of performance patterns and regressions.

Full MCP documentation

Install

Get Started

  1. 01

    Install

    Shell
    uv add benchbox
  2. 02

    Run as CLI

    # Quick TPC-H benchmark on DuckDB
    benchbox run --platform duckdb --benchmark tpch --scale 0.1
    
    # Preview on cloud before spending credits
    benchbox run --platform databricks --benchmark tpch --dry-run ./preview
  3. 03

    Or use as a library

    from benchbox import TPCH
    
    # Initialize and generate benchmark data
    tpch = TPCH(scale_factor=0.1)
    data_files = tpch.generate_data()
    
    # Get schema and queries
    create_sql = tpch.get_create_tables_sql()
    query = tpch.get_query(1)  # Q1: Pricing Summary Report

Requirements

  • Python 3.11 or higher
  • No external dependencies for data generation
  • Optional: database drivers (duckdb, sqlite3, etc.)