tsdb-bench
This repository contains code designed to evaluate the performance of different time series databases (TSDBs) under heavy write workloads. The primary purpose of this project is to provide a means to compare the performance of various TSDBs and find out which one is most suitable for applications that require high write throughput.
The necessity of this project arises from the desire of monitoring an entire cluster infrastructure, where a large number of metrics need to be collected and stored in real-time. In such scenarios, the choice of the TSDB can significantly impact the overall performance and efficiency of the monitoring system.
Main characteristics of the project:
- Built used the
tsbsbenchmarking framework. - Tested multiple TSDBs: InfluxV2, TimescaleDB**, and QuestDB, but easily extensible to other TSDBs supported by the
tsbsframework. - Completely automated benchmarking process, from data generation to result visualization.
- Cloud-native deployment using Kubernetes and Helm Charts for easy scalability and management.
- Integrated a monitoring tool using QuestDB and Telegraf to monitor the resource usage of the TSDBs during the benchmarking process.