kkzi / ticktock

An OpenTSDB-like time series database, with much better performance.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TickTock Docker Pulls

TickTock 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 TickTock 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, Clickhouse and Druid on relational DBs. This incurs complexity in installation and maintenance besides performance overhead. TickTock 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.
  • Replication and Scalability supports:
    • TickTock provides replication and partition features in its open source versions.
  • Compatible with OpenTSDB APIs:
    • OpenTSDB is one of the most widely used TSDBs. TickTock 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, TickTock is at least 50X better than Opentsdb, 4X than InfluxDB.
  • Replication
    • Write to any server in the cluster, get replicated to any other servers.
  • Scalability
    • Partition the database by metric names.
  • Compatibility
    • Compatible with OpenTSDB enough that you can use TCollector to send data to it; use Grafana to query it.
  • 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 TickTock Demo in a docker image. With a single command to launch the docker, there will be a fully functional demo in the docker,

  • A TickTock TSDB;
  • A Tcollector collecting OS metrics of the docker and sending to TickTock;
  • A Grafana providing metric dashboard to visualize the metrics.

To run TickTock 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 "TickTock Demo" dashboard to see metric panels. Docker Demo: Grafana Dashboard Docker Demo: Grafana Dashboard 2

    The "TickTock 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 TickTock documentation.

About

An OpenTSDB-like time series database, with much better performance.

License:GNU General Public License v3.0


Languages

Language:C++ 80.0%Language:C 11.2%Language:Python 7.4%Language:Shell 1.2%Language:Dockerfile 0.2%