// the find
timescale/tsbs
Time Series Benchmark Suite, a tool for comparing and evaluating databases for time series data
TSBS is a Go-based benchmarking harness for time series databases — generate synthetic datasets, load them, and run standardized query suites against 10+ databases. It's for engineers doing database selection or performance regression testing, not for production use. Maintained by Timescale but covers competitors honestly.
Deterministic data generation via seeded PRNG means you can reproduce exact results across runs and share them with teammates. The separation of generate/load/query phases lets you isolate where time is actually going. Native Go clients for each database (not generic ODBC/JDBC shims) means you're measuring the database, not the driver abstraction. The IoT use case adds out-of-order and batch ingestion patterns that devops-only benchmarks miss entirely.
No concurrent read+write benchmarking — the README explicitly calls this out as a future priority, but that's often the exact workload that breaks time series databases in production. Query coverage is narrow: the devops suite is mostly MAX aggregations over time windows, so anything involving window functions, CTEs, or complex joins won't tell you much. Several supported databases (Akumuli, SiriDB) are either abandoned or rarely used in real deployments, so the coverage list looks impressive but isn't equally maintained. The IoT use case is missing for most databases — only InfluxDB, QuestDB, and TimescaleDB implement it — so cross-database IoT comparisons aren't actually possible.