TickTockDB is an open source Time Series DataBase (TSDB) for DevOps, Internet of Things (IoT), and financial data. Based on many years of unsatisfied experience with TSDBs, we set our design goals of TickTockDB as:
- Low resource requirement:
- It can run even with very low resources.
- High performance:
- At least 10X better than OpenTSDB, competitive to the best TSDBs like InfluxDB.
- Easy to install and maintain:
- Many TSDBs are built on top of other DBs, e.g., OpenTSDB on HBase, Timescaledb on Postgresql, Clickhouse and Druid on relational DBs. This incurs complexity in installation and maintenance besides performance overhead. TickTockDB is natively developed in C++ and has a single process only. It doesn't require additional expertise like HBase for OpenTSDB in maintence. It doesn't have painful Garbage Collection issues to deal with in high load scenarios.
- Compatible with OpenTSDB APIs:
- OpenTSDB is one of the most widely used TSDBs. TickTockDB includes storing and querying APIs compatible with OpenTSDB. You can use OpenTSDB's TCollector to collect data and use Grafana to visualize data.
- High Performance
- High write throughput, low query latency. In our performance testing with some public available benchmarks, TickTockDB is at least 50X better than Opentsdb, 10X than InfluxDB.
- Run well even in RaspBerryPI with ARMv6, 32bit OS.
- Compatibility
- Compatible with OpenTSDB enough that you can use TCollector to send data to it; use Grafana to query it.
- Compatible with InfluxDB line write protocol to maximize write throughput.
- No Dependencies
- No runtime dependencies.
- Simplicity
- One process per instance; Low maintenance.
- Docker Ready
- Start running in seconds; no installation required.
- Open Source
- You can redistribute it and/or modify it under the terms of the GNU General Public License. For details, see below.
We prepare a TickTockDB Demo in a docker image. With a single command to launch the docker, there will be a fully functional demo in the docker,
- A TickTockDB TSDB;
- A Tcollector collecting OS metrics of the docker and sending to TickTockDB;
- A Grafana providing metric dashboard to visualize the metrics.
-
You need to install Docker Engine first.
-
Then simply run
docker run -d --name ticktock -p 3000:3000 -p 6181-6182:6181-6182 -p 6181:6181/udp docker.io/ytyou/ticktock:latest-grafana
-
To see the pre-built dashboard, point your browser to your docker host at port 3000 (e.g. http://localhost:3000). The initial username/password is admin/admin.
You will be asked to change the password at the first login. Simply skip it if you don't want to.
-
After login, go to "TickTockDB Demo" dashboard to see metric panels.
The "TickTockDB Demo" dashboard is initialized with 4 metric panels, i.e., cpu load, memory usage, disk usage, and network usage.
For more information, please refer to TickTockDB documentation.