Git Product home page Git Product logo

akumuli's Introduction

README Build Status Coverity Scan Build Status Join the chat at https://gitter.im/akumuli/Akumuli

Akumuli is a numeric time-series database. It can be used to capture, store and process time-series data in real-time. The word "akumuli" can be translated from esperanto as "accumulate".

Features

  • Column-oriented time-series database.
  • Log-structured append-only B+tree with multiversion concurrency control.
  • Crash safety.
  • Fast aggregation without pre-configured rollups or materialized views.
  • Custom compression algorithm (dictionary + entropy) with small memory overhead (about 2.5 bytes per element on appropriate data).
  • Compressed in-memory storage for recent data.
  • Can be used as a server application or an embedded library.
  • Simple query language based on JSON over HTTP.
  • Fast data ingestion over the network:
    • 4.5M data points per second on 8-core Intel Xeon E5-2670 v2 (m3.2xlarge EC2 instance).
    • 16.1M data points per second on 32-core Intel Xeon E5-2680 v2 (c3.8xlarge EC2 instance).
  • Query results returned using chunked transfer encoding at rate about 50MB/second (about 1M data points/second) per core.

Documentation

How to build

Ubuntu / Debian

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-all-dev

  • log4cxx:

    sudo apt-get install log4cxx

  • jemalloc:

    sudo apt-get install libjemalloc-dev

  • microhttpd:

    sudo apt-get install libmicrohttpd-dev

  • APR:

    sudo apt-get install libapr1-dev libaprutil1-dev libaprutil1-dbd-sqlite3

  • SQLite:

    sudo apt-get install libsqlite3-dev

  • Cmake:

    sudo apt-get install cmake

Building

  1. cmake .
  2. make -j

Centos 7 / RHEL7 / Fedora

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

In case automatic script didn't work:

  • Boost:

    sudo yum install boost boost-devel

  • log4cxx:

    sudo yum install log4cxx log4cxx-devel

  • jemalloc:

    sudo yum install jemalloc-devel

  • microhttpd:

    sudo yum install libmicrohttpd-devel

  • APR:

    sudo yum install apr-devel apr-util-devel apr-util-sqlite

  • SQLite

    sudo yum install sqlite sqlite-devel

  • Cmake:

    sudo yum install cmake

Building

  1. cmake .
  2. make -j
  3. make

Centos 6 / RHEL6

Prequisites

  • Same as for RHEL7, but we need to manually install log4cxx, as there isn't a package in the repos:
wget http://www.pirbot.com/mirrors/apache/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz
tar -xzvf apache-log4cxx-0.10.0.tar.gz 
cd apache-log4cxx-0.10.0
  • Add #include <cstring> to: src/main/cpp/inputstreamreader.cpp, src/main/cpp/socketoutputstream.cpp and src/examples/cpp/console.cpp
  • Add #include <cstdio> to: src/examples/cpp/console.cpp
./configure --prefix=/usr --libdir=/usr/lib64
make -j4
sudo make install
  • Go on as for RHEL7

Questions?

Google group

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.