Deployment
Deploy ThunderDB from source, Docker, Kubernetes, or system packages. Set up single-node and multi-node clusters.
This guide provides comprehensive documentation for deploying, configuring, monitoring, and maintaining ThunderDB in production environments. Whether you are running a single-node development instance or a multi-node distributed cluster, this guide covers the operational knowledge required to keep ThunderDB running reliably and efficiently.
ThunderDB is a distributed HTAP (Hybrid Transactional/Analytical Processing) database built in Rust. It supports multiple wire protocols (PostgreSQL, MySQL, RESP/Redis, HTTP, and gRPC) and is designed for high-throughput, low-latency workloads across both OLTP and OLAP use cases. As an administrator, your responsibilities span the following areas.
Deploy ThunderDB from source, via Docker or Kubernetes, or through system packages. Set up single-node instances or multi-node clusters with Raft-based consensus and automatic region balancing.
Tune ThunderDB for your workload using the thunderdb.toml configuration file. Configure network ports, storage engine parameters, cluster settings, security policies, and logging levels.
Observe ThunderDB’s health and performance through Prometheus metrics, Grafana dashboards, structured logs, and health check endpoints. Set up alerting based on SLOs to catch issues before they affect users.
Protect your data with full backups, incremental WAL-based backups, and point-in-time recovery. Plan for disaster recovery with cross-region backup strategies.
Harden ThunderDB with authentication, TLS encryption, role-based access control, audit logging, and encryption at rest. Follow security best practices for production deployments.
Diagnose and resolve common issues including connection problems, performance degradation, WAL corruption, cluster split-brain scenarios, and memory pressure. Use structured logs and debug tracing to identify root causes.
| Task | Command / Path |
|---|---|
| Start ThunderDB | ./thunderdb --config config/thunderdb.toml |
| Configuration file | /etc/thunderdb/thunderdb.toml |
| Data directory | /var/lib/thunderdb/data/ |
| WAL directory | /var/lib/thunderdb/wal/ |
| Log files | /var/log/thunderdb/ |
| systemd service | systemctl start thunderdb |
| Health check | GET http://localhost:8088/admin/health |
| Metrics endpoint | GET http://localhost:8088/admin/metrics |
| PostgreSQL port | 5432 |
| MySQL port | 3306 |
| RESP (Redis) port | 6379 |
| HTTP API port | 8088 |
| gRPC port | 9090 |
Before deploying ThunderDB in production, ensure the following:
thunder) with appropriate file system permissions for data and log directories.Understanding ThunderDB’s internal architecture helps with operational decision-making.
Client Connections
| | | | |
+----+----+----+----+----+----+
| PG | MySQL| RESP | HTTP | gRPC|
| 5432| 3306 | 6379 | 8088 | 9090|
+-----+------+------+------+-----+
|
+-------+-------+
| Query Engine |
| (Volcano/Vec) |
+-------+-------+
|
+----------+----------+
| Transaction Manager |
| (MVCC + 2PC) |
+----------+----------+
|
+----------+----------+
| Storage Engine |
| (Buffer Pool + WAL) |
+----------+----------+
|
+----------+----------+
| Distributed Layer |
| (Raft + Region Split)|
+----------+----------+
Key components from an operational perspective:
Start with the Deployment Guide to get ThunderDB running, then proceed to Configuration for tuning, and Monitoring for observability.
Deploy ThunderDB from source, Docker, Kubernetes, or system packages. Set up single-node and multi-node clusters.
Complete configuration reference for ThunderDB including TOML settings, environment variable overrides, and performance tuning guides.
Monitor ThunderDB health and performance with Prometheus metrics, Grafana dashboards, structured logging, and alerting.
Protect your data with full backups, incremental WAL-based backups, point-in-time recovery, and disaster recovery planning.
Secure ThunderDB with authentication, TLS encryption, role-based access control, audit logging, and encryption at rest.
Diagnose and resolve common issues with ThunderDB including connection problems, performance degradation, WAL corruption, and cluster failures.
Was this page helpful?
Glad to hear it! Tell us how we can improve.
Sorry to hear that. Tell us how we can improve.