%global sha1 4425ef21f58c64d015ad11407642cad1add8b915 Name: akumuli Version: 0.7.31 Release: 1%{?dist} Summary: Time-series database for modern hardware License: ASL 2.0 URL: http://akumuli.org/ Source0: https://github.com/akumuli/%{name}/archive/%{sha1}/%{name}-%{sha1}.tar.gz Patch0: soname-versioning.patch Requires: lib%{name}%{?_isa} = %{version}-%{release} BuildRequires: gcc cmake BuildRequires: boost-devel log4cxx-devel sqlite-devel apr-devel apr-util-devel BuildRequires: apr-util-sqlite jemalloc-devel libmicrohttpd-devel %description Akumuli is a time-series database for modern hardware. It can be used to capture, store and process time-series data in real-time. Main features: * True column-oriented format (not PAX). * Based on novel LSM and B+tree hybrid datastructure with multiversion concurrency control (no concurrency bugs, parallel writes, optimized for SSD and NVMe). * Crash safety and recovery. * Fast aggregation without pre-configured rollups or materialized views. * Queries can be executed without decompressing the data. * Fast 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 and HTTP. * Fast range scans and joins, read speed doesn't depend on database cardinality. * 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 are streamed to client using the chunked transfer encoding of the HTTP protocol. * Decompression algorithm and input parsers were fuzz-tested. * Grafana datasource plugin. * Fast and compact inverted index for series lookup. %package -n lib%{name} Summary: Akumuli client library %description -n lib%{name} %{summary}. Akumuli is a time-series database for modern hardware. It can be used to capture, store and process time-series data in real-time. %package -n lib%{name}-devel Summary: Akumuli client library - Header files Requires: lib%{name}%{?_isa} = %{version}-%{release} %description -n lib%{name}-devel Development files for the Akumuli client Library. Akumuli is a time-series database for modern hardware. It can be used to capture, store and process time-series data in real-time. %prep %autosetup -p1 -n Akumuli-%{sha1} %cmake %build %make_build %install %make_install %check %files %license LICENSE %doc README.md %{_bindir}/akumulid %files -n lib%{name} %license LICENSE %doc README.md %{_libdir}/libakumuli.so.* %files -n lib%{name}-devel %{_includedir}/akumuli*.h %{_libdir}/libakumuli.so %changelog * Thu Jan 04 2018 Sergey Avseyev - 0.7.29-1 - Initial package