You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This matrix compares BenchBox platform families and links exact platform counts back to runtime registry metadata.
Platform Overview
BenchBox supports platforms across registry categories and editorial documentation groups. Exact counts below are generated from PlatformRegistry.get_platform_count_summary() and checked by unit tests; the later sections remain human-oriented groupings for choosing a platform.
Platform registry: 52 metadata entries; 48 SQL-capable; 18 DataFrame-capable; 14 dual-mode; support status counts: stable=5, beta=28, experimental=18, deprecated=1.
Registry category
Platforms
Notes
analytical
8
Local and engine-native analytical platforms
cloud
23
Managed warehouses, cloud Spark, and SaaS surfaces
dataframe
5
DataFrame-only metadata entries
distributed
6
Federated, cluster, and distributed SQL engines
embedded
1
Built-in embedded runtime
olap
4
PostgreSQL extension, embedded OLAP, and DuckLake lakehouse variants
relational
1
General relational database support
timeseries
3
Time-series engines with SQL/query support
**CLI Naming Convention**: DataFrame platforms use the `-df` suffix (e.g., `polars-df`, `pandas-df`) to distinguish them from SQL mode platforms. Some platforms like DataFusion support both modes - see [Hybrid Platforms](#hybrid-platforms-sql--dataframe) for details.
Quick Decision Guide
1. Local development or testing?
└── Yes → DuckDB (default) or DataFusion (Arrow-native)
└── No → Continue to #2
2. Need DataFrame API (not SQL)?
└── Yes → Polars-df (single-node) or PySpark-df (distributed)
└── No → Continue to #3
3. Already using Snowflake and want DataFrame API?
└── Yes → snowpark-connect (PySpark-compatible)
└── No → Continue to #4
4. Cost is primary concern?
└── Yes → DuckDB, ClickHouse, or PostgreSQL (self-hosted)
└── No → Continue to #5
5. Data > 100GB?
└── No → DuckDB, ClickHouse, or DataFusion
└── Yes → Continue to #6
6. Which cloud provider?
└── AWS → Redshift, Athena, or EMR Serverless
└── GCP → BigQuery or Dataproc Serverless
└── Azure → Azure Synapse Analytics, Microsoft Fabric Warehouse, or Microsoft Fabric Spark
└── Multi-cloud → Snowflake or Databricks
Deployment Modes
BenchBox supports multiple deployment modes for platforms, enabling the same benchmark to run against local, self-hosted, and cloud-managed instances. Use the colon syntax to specify deployment modes: --platform platform:mode.
For detailed deployment mode configuration, see [Deployment Modes Guide](deployment-modes.md).
Local/Embedded Platforms
Zero-infrastructure platforms that run in-process. Ideal for development, testing, and medium-scale analytics.
Architecture Comparison
Feature
DuckDB
DataFusion
SQLite
Polars
ClickHouse
CLI Name
duckdb
datafusion
sqlite
polars-df
clickhouse-local
Architecture
Embedded Columnar
In-memory Columnar
Embedded Row-based
In-memory Columnar
Embedded/Server Columnar
Storage Format
Native/Parquet
Arrow/Parquet
B-tree Pages
Arrow/Parquet
MergeTree
Query Engine
Vectorized
Vectorized (Rust)
B-tree
Vectorized (Rust)
Vectorized
Concurrency
Read-heavy
In-memory Only
Limited Write
Read-heavy
High Concurrent
ACID Support
Limited
None
Full
None
Limited
SQL Support
Full
Full
Full
DataFrame only
Full
**ClickHouse Platforms**: ClickHouse is available as three first-class platforms: `clickhouse-local` (chDB, zero-config), `clickhouse-server` (self-hosted), and `clickhouse-cloud` (managed). The legacy bare `clickhouse` selector has been removed and now raises an error naming these replacements. See [Migration Guide](clickhouse-migration.md).
Relative Performance Characteristics
Performance varies based on workload, query complexity, data size, and hardware. The following are general architectural characteristics:
DuckDB, the default, which is included with BenchBox.
DataFusion.
Polars, for the DataFrame API only. Use the polars-df platform.
ClickHouse Local (chDB), which needs no configuration.
ClickHouse Server, which is self-hosted and requires a running instance.
SQLite is built into Python and needs no installation.
Cloud Data Warehouses
Managed cloud platforms with enterprise features, auto-scaling, and petabyte-scale capacity.
TimescaleDB also supports a managed cloud deployment mode via TigerData (`timescaledb:cloud`). It is shown separately below because it is a managed PostgreSQL time-series service rather than an MPP warehouse.
Architecture Comparison
Feature
BigQuery
Snowflake
Databricks
Redshift
Synapse
Fabric DW
Athena
Firebolt
CLI Name
bigquery
snowflake
databricks
redshift
synapse
fabric-dw
athena
firebolt
Cloud
GCP
Multi-cloud
Multi-cloud
AWS
Azure
Azure
AWS
Multi-cloud
Architecture
Columnar MPP
Columnar MPP
Columnar MPP (Spark)
Columnar MPP
Columnar MPP
Columnar MPP
Columnar MPP (Trino)
Columnar MPP (Trino)
Storage
Capacitor
Micro-partitions
Delta Lake
Columnar Blocks
Distributed
OneLake/Delta
S3/Parquet
Proprietary
Compute Model
Serverless
Virtual Warehouses
Clusters/Serverless
Provisioned/Serverless
Dedicated Pools
Capacity Units
Serverless
Engines
Managed PostgreSQL / Time-Series Service
Platform
CLI Name
Protocol
Authentication
SSL
Storage
Managed
TimescaleDB / TigerData
timescaledb:cloud
PostgreSQL
Password
Required
TigerData managed PostgreSQL storage
Yes
Cost Analysis
Pricing as of January 2026. Verify current rates with providers.
Platform
Compute Pricing
Storage Pricing
Data Transfer
Free Tier
BigQuery
$6.25/TiB queried
$20/TB/month
$0.12/GB
1TB/month queries
Snowflake
$2-40/credit/hour
Included in compute
$0.023/GB
30-day trial
Databricks
$0.15-0.65/DBU
Cloud storage
$0.087/GB
14-day trial
Redshift
$0.25-16/hour
$0.024/GB SSD
$0.02/GB
2-month trial
Synapse
$1.33+/DWU/hour
$0.023/GB
$0.05/GB
30-day trial
Fabric DW
Capacity Units
Included
Included
60-day trial
Athena
$5/TB scanned
S3 pricing
S3 pricing
None
Firebolt
Per-engine pricing
Included
Included
Free local mode
TigerData
Service tiers
Included
Included
Free trial tiers
Cost estimate context: Monthly costs assume SF=10 workload (~10GB), 100 queries/day, standard configurations. Actual costs vary significantly based on query complexity, concurrency, and data volume.
Security & Compliance
Feature
BigQuery
Snowflake
Databricks
Redshift
Synapse
Fabric DW
Athena
Firebolt
Encryption at Rest
Default
Default
Default
Default
Default
Default
Default
Default
Encryption in Transit
HTTPS
TLS
HTTPS
TLS
TLS
TLS
HTTPS
TLS
Authentication
IAM/OAuth
Users/SSO
Users/SSO
IAM/Users
Entra ID
Entra ID
IAM
Users/SSO
SOC 2
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
HIPAA
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Contact
FedRAMP
Yes
Yes
Yes
Yes
Yes
Pending
Yes
No
TigerData (timescaledb:cloud) security profile:
Encryption at rest: Default
Encryption in transit: TLS (SSL required by adapter)
In order, these commands install the drivers for BigQuery, Snowflake, Databricks (SQL mode), Redshift, Azure Synapse Analytics, Fabric Warehouse, Amazon Athena, and Firebolt.
Distributed SQL Engines
Federated and distributed query engines for multi-source analytics.
In order, these commands install the drivers for Trino, PrestoDB, Apache Spark SQL, ClickHouse (server mode, which requires a running instance), and SingleStore.
Spark-Compatible Engines
Native-code engines that accept Spark SQL / DataFrame workloads without running Apache Spark's JVM execution path. Both speak the Spark Connect protocol, so the standard pyspark client is the only client library required.
Run the pysail server in a separate terminal. LakeSail uses the standard PySpark client through Spark Connect. Velox pulls in pyspark[connect]>=3.5.0 and requires the Gluten bundle jar.
In order, these commands install the dependencies for AWS Spark services (Glue, EMR Serverless, Athena for Spark), GCP Spark services (Dataproc, Dataproc Serverless), Azure Spark services (Fabric Spark, Synapse Spark), and Onehouse Quanton.
DataFrame Platforms
Native DataFrame API libraries for programmatic data manipulation.
**Naming Convention**: All DataFrame platforms use the `-df` suffix in CLI names to distinguish them from SQL-mode platforms. For example, use `polars-df` for Polars DataFrame API or `datafusion-df` for DataFusion DataFrame API.
The expression-family libraries: Polars, PySpark (requires Java 17 or 21), and DataFusion.
Databricks DataFrame, which requires Databricks Connect.
Snowpark Connect, which is PySpark-compatible on Snowflake.
LakeSail DataFrame, which uses Spark Connect through the standard PySpark client.
The Pandas family: Pandas and Dask.
cuDF, which needs an NVIDIA GPU and Linux. It uses pip because of its CUDA dependencies.
Hybrid Platforms (SQL + DataFrame)
These platforms support both SQL and native DataFrame execution modes. Use the appropriate CLI name based on your preferred execution paradigm.
Platform
SQL Mode
DataFrame Mode
Default Mode
Notes
DataFusion
datafusion
datafusion-df
SQL
Arrow-native both modes
PySpark
spark
pyspark-df
DataFrame
SparkSQL vs DataFrame API
Databricks
databricks
databricks-df
SQL
SQL Warehouse vs Databricks Connect
Snowpark Connect
N/A
snowpark-connect
DataFrame
PySpark-compatible API on Snowflake
LakeSail
lakesail
lakesail-df
SQL
Rust/DataFusion engine, Spark Connect
**Polars** is DataFrame-only (`polars-df`). SQL mode was removed due to fundamental limitations in Polars' SQL implementation (no implicit joins, limited subquery support) that make it incompatible with TPC benchmarks. For SQL benchmarks, use `duckdb` or another SQL-native platform.
Usage Example:
benchbox run --platform polars-df --benchmark tpch --scale 1
benchbox run --platform datafusion --benchmark tpch --scale 1
benchbox run --platform datafusion-df --benchmark tpch --scale 1
benchbox run --platform databricks --benchmark tpch --scale 10
benchbox run --platform databricks-df --benchmark tpch --scale 10
benchbox run --platform snowpark-connect --benchmark tpch --scale 10
Polars supports DataFrame mode only. DataFusion supports SQL mode (datafusion) and DataFrame mode (datafusion-df). Databricks runs against a SQL Warehouse (databricks) or through Databricks Connect (databricks-df). Snowpark Connect runs DataFrame workloads on Snowflake.
Benchmark Support Matrix
TPC Benchmarks
Benchmark
Local
Cloud DW
Distributed
Time-Series
DataFrame
TPC-H
All
All
All
PostgreSQL, TimescaleDB
All
TPC-DS
DuckDB, ClickHouse
All
All
N/A
Polars, PySpark, Databricks
SSB
All
All
All
N/A
All
Analytics Benchmarks
Benchmark
Local
Cloud DW
Distributed
Time-Series
DataFrame
ClickBench
DuckDB, ClickHouse
All
ClickHouse
N/A
Polars
H2O.ai
DuckDB
All
Spark
N/A
All
AMPLab
DuckDB
All
Spark, Databricks
N/A
PySpark, Databricks
Time-Series Benchmarks
Benchmark
PostgreSQL
TimescaleDB
InfluxDB
TSBS DevOps
Limited
Full
Native
TSBS IoT
Limited
Full
Native
Scale Factor Recommendations
Scale Factor
Dataset Size
Recommended Platforms
0.001-0.01
1-10MB
DuckDB, DataFusion, SQLite
0.1-1
100MB-1GB
DuckDB, DataFusion, ClickHouse, Polars
1-10
1-10GB
DuckDB, ClickHouse, BigQuery, All DataFrame
10-100
10-100GB
DuckDB, ClickHouse, All Cloud DW, PySpark
100-1000
100GB-1TB
BigQuery, Snowflake, Databricks, Redshift
1000+
1TB+
BigQuery, Snowflake, Databricks, Spark
Cost Comparison (All Categories)
All cost estimates as of January 2026. Based on SF=10 workload (~10GB data), 100 queries/day.
Free/Open Source
Platform
Type
Cost
DuckDB
Local
Free
DataFusion
Local
Free
SQLite
Local
Free
Polars
Local/DataFrame
Free
ClickHouse
Local/Server
Free (self-hosted)
PostgreSQL
Relational
Free (self-hosted)
Trino/Presto
Distributed
Free (self-hosted)
Spark
Distributed
Free (self-hosted)
Cloud Pay-Per-Use
Platform
Typical Monthly Cost
Best For
Cost Basis
BigQuery
$50-5000
GCP workloads
$6.25/TiB queried
Athena
$50-2000
S3 data lake
$5/TB scanned
Firebolt
$100-3000
High-performance analytics
Per-engine
Cloud Provisioned
Platform
Typical Monthly Cost
Best For
Cost Basis
Snowflake
$100-10000
Multi-cloud enterprise
Credits/hour
Databricks
$200-5000
ML/Lakehouse
DBU/hour
Redshift
$100-5000
AWS enterprise
Node-hours
Synapse
$200-5000
Azure enterprise
DWU-hours
Fabric
Capacity-based
Microsoft ecosystem
Capacity Units
Use Case Recommendations
By Team Size
Team Profile
Recommended
Alternatives
Individual Developer
DuckDB
DataFusion, Polars
Small Team (2-5)
DuckDB, ClickHouse
PostgreSQL
Medium Team (5-20)
BigQuery, Snowflake
Databricks
Enterprise
Snowflake, Databricks
Redshift, Synapse
By Workload
Workload
Recommended
Alternatives
Ad-hoc Analytics
DuckDB, BigQuery
Athena, Snowflake
Production Dashboards
Snowflake, BigQuery
Redshift, Databricks
ML/Data Science
Databricks, PySpark
Snowflake, BigQuery
Real-time Analytics
ClickHouse
Firebolt
Time-series IoT
TimescaleDB, InfluxDB
ClickHouse
Data Lake
Databricks, Athena
Trino, Spark
By Cloud Provider
Cloud
Data Warehouse
Spark Service
Serverless
AWS
Redshift
EMR Serverless
Athena
GCP
BigQuery
Dataproc Serverless
BigQuery
Azure
Synapse, Fabric DW
Fabric Spark
Fabric DW
Multi-cloud
Snowflake, Databricks
Databricks
Snowflake
Migration Complexity
From \ To
DuckDB
BigQuery
Snowflake
Databricks
DuckDB
-
Medium
Medium
Hard
BigQuery
Medium
-
Easy
Medium
Snowflake
Medium
Easy
-
Medium
Databricks
Hard
Medium
Medium
-
Redshift
Medium
Medium
Easy
Medium
Summary by Category
Local/Embedded
DuckDB: Default choice for development, testing, and medium-scale analytics
DataFusion: Arrow-native, ideal for PyArrow workflows
SQLite: Lightweight testing and CI/CD
Polars: High-performance DataFrame library (DataFrame API only, use polars-df)
ClickHouse: High-throughput analytics (local or server mode)