Skip to content

gitter-badger/Akumuli

 
 

Repository files navigation

README Build Status

Akumuli is a time-series database. The word "akumuli" can be translated from esperanto as "accumulate".

Rationale

Most open source projects focus on query language and things useful for web-analytics, but they ignore some key characteristics of time series data:

  • High write throughput (millions of data-points per second)
  • Very late writes can be dropped
  • Numeric time-series can be compressed very efficiently
  • Periodic time-series can be compressed very efficiently
  • Compression is crucial for time-series storage!

Features

  • Implements specialized storage engine for time-series data
  • Memory mapped and x64 only
  • Uses constant amount of disk space (like RRD-tool)
  • Crash recovery
  • Very high write throughput (about 1M writes per second on single machine)
  • Allows unordered writes
  • Compressed (specialized compression algorithms for different data elements - timestamps, ids, values)
  • Easy to use server software (based on Redis protocol)

Documentation

How to build

Ubuntu

Prerequisites

Automatic
  • Run prerequisites.sh. It will try to do the best thing.
Manual

In case automatic script didn't work:

  • Boost:

    sudo apt-get install libboost-dev libboost-system-dev libboost-thread-dev libboost-filesystem-dev libboost-test-dev libboost-coroutine-dev libboost-context-dev

  • APR:

    `sudo apt-get install libapr1-dev libaprutil1-dev

  • Cmake:

    sudo apt-get install cmake

Building

  1. cmake .
  2. make -j

Questions?

Google group

Packages

No packages published

Languages

  • C++ 91.5%
  • CMake 6.0%
  • C 2.4%
  • Shell 0.1%