Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/viyadb/viyadb
ViyaDB in-memory columnar analytical data store
https://github.com/viyadb/viyadb
ad-hoc analytics cpp17 customer-facing database datastore in-memory-database in-memory-storage
Last synced: 3 months ago
JSON representation
ViyaDB in-memory columnar analytical data store
- Host: GitHub
- URL: https://github.com/viyadb/viyadb
- Owner: viyadb
- License: apache-2.0
- Created: 2017-09-19T18:44:04.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-10-18T11:23:03.000Z (about 5 years ago)
- Last Synced: 2024-09-30T00:04:56.644Z (3 months ago)
- Topics: ad-hoc, analytics, cpp17, customer-facing, database, datastore, in-memory-database, in-memory-storage
- Language: C++
- Homepage: http://viyadb.com
- Size: 710 KB
- Stars: 113
- Watchers: 11
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
ViyaDB
=======[![Build Status](https://travis-ci.org/viyadb/viyadb.svg?branch=master)](https://travis-ci.org/viyadb/viyadb)
[![Coverage](https://codecov.io/github/viyadb/viyadb/coverage.svg?branch=master)](https://codecov.io/github/viyadb/viyadb?branch=master)
ViyaDB is in-memory columnar analytical data store, featuring:
* Fast ad-hoc analytical queries
* Random access update pattern
* Built-in cardinality protection
* Real-time query compilation to machine code
* Dynamic period based rollup
* REST API interface with intuitive JSON-based language
* Basic SQL (DML) support
## Quickstart* Learn about ViyaDB through [Mobile Attribution Tracking Sample](http://viyadb.com/samples/#mobile-attribution-tracking).
* Read more on ViyaDB [Usage](http://viyadb.com/usage).
* Deep dive into ViyaDB [Clustering Architecture](http://viyadb.com/clustering) and [Real-Time Analytics Infrastructure](http://viyadb.com/realtime) based on ViyaDB.
For more information please visit the official Website: http://viyadb.com## Building
In order to pull all third party dependencies, either clone ViyaDB sources using `--recursive` flag, or run this command afterwards:
git submodule update --init --recursive
The easiest way to build ViyaDB is using `viyadb/devenv` Docker image:
docker run --rm -v $(pwd):/viyadb viyadb/devenv:latest /viyadb/scripts/travis-build.sh
If for some reason you'd like to use your own system tools, please read on.
### Prerequisites
The following components are required for building ViyaDB:
* CMake >= 3.10
* Boost >= 1.65.1
* Flex >= 2.6.1
* Bison >= 2:3.0.4
* g++ >= 8.3Additional third party dependencies are included into the project as [Git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
### Building
To build the project, run:
mkdir build/
cd build/
cmake ..
make -j4### Testing
Unit tests are built as part of the main build process. To invoke all unit tests, run:
GLOG_logtostderr=1 ./test/unit_tests