TickTockDB is an OpenTSDB-like time series database, with much better performance.
Go to file
Yongtao You a86ef3bf3a fix memory leak when using put with _field 2023-07-22 09:08:25 -07:00
admin add support of explicit_tags 2023-05-02 11:11:18 -07:00
api-examples Add a python query example and a admin/suggest.sh example 2023-01-23 13:30:47 -08:00
conf close files after compaction 2023-05-27 14:58:10 -07:00
docker Feature: set uid & gid for docker (#51) 2023-05-30 00:00:35 +00:00
docs add README.1st to binary packages 2023-03-30 20:43:21 -07:00
include fix bug for multiple dps in json format 2023-07-19 21:34:57 -07:00
scripts Feature: set uid & gid for docker (#51) 2023-05-30 00:00:35 +00:00
src fix memory leak when using put with _field 2023-07-22 09:08:25 -07:00
test optimize query 2023-05-26 20:16:31 -07:00
tools added -r option for inspect to spit out data in the opentsdb telnet format 2023-04-23 00:13:55 -07:00
.gitignore support relative time in query start/end 2021-10-05 19:44:56 -07:00
LICENSE Initial commit 2021-01-25 10:33:23 -08:00
Makefile.centos TcpServer support influxdb line protocol as well 2023-01-31 15:45:29 -08:00
Makefile.docker TcpServer support influxdb line protocol as well 2023-01-31 15:45:29 -08:00
Makefile.ubuntu cleanup dead code 2023-05-27 23:54:47 -07:00
README.md Update README.md (#36) 2023-02-22 01:48:13 +00:00

README.md

TickTockDB GitHub license Docker Pulls

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.

Highlights

  • 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.

Quick Start

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.

To run TickTockDB Demo:

  1. You need to install Docker Engine first.

  2. Then simply run

    docker run -d --name ticktock -p 3000:3000 -p 6181-6182:6181-6182 -p 6181:6181/udp ytyou/ticktock:latest-grafana
    

    Docker command execution example

  3. 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. Docker Demo: Grafana login page

    You will be asked to change the password at the first login. Simply skip it if you don't want to. Docker Demo: Grafana login page

  4. After login, go to "TickTockDB Demo" dashboard to see metric panels. Docker Demo: Grafana Dashboard Docker Demo: Grafana Dashboard 2

    The "TickTockDB Demo" dashboard is initialized with 4 metric panels, i.e., cpu load, memory usage, disk usage, and network usage.

    Docker Demo: Grafana Dashboard 3

Documentation

For more information, please refer to TickTockDB documentation.