AresDB is a GPU-based analytics engine with storage and query capabilities. The goal of AresDB is to develop a real-time analytics system with fresh data and interactive response time at a low cost. This repo contains the source code of AresDB and debug UI.
AresDB requires the CUDA Toolkit. Please ensure you read, acknowledge, and accept the CUDA End User License Agreement.
To get AresDB:
git clone [email protected]:uber/AresDB.git $GOPATH/src/github.com/uber/AresDB.git
AresDB needs NVIDIA driver version >= 390.48 and CUDA version 9.1.
Run the following to make sure the following environment variables are correctly set:
export PATH=/path/to/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/path/to/cuda/lib64:/path/to/aresdb/lib:${LD_LIBRARY_PATH}
Building and running AresDB requires:
The following dependencies need to be installed before building the binary.
We use glide to manage Go dependencies. Please make sure glide
is in your PATH before you attempt to build.
AresDB is written in C++(query engine) and Golang (mem store, disk store, disk store and other query components.) Because of this, we break testing into two parts:
We use Ginkgo as the test framework for running the Golang unit test and coverage. Install Ginkgo first and run
make test
We use google-test as the test framework to test C++ code. Install google-test and set the environment variable, GTEST_ROOT, to the installed location.
After you have installed properly, run
make test-cuda
The following command will start an AresDB server locally.You can start to query the server using a curl command or swagger page.
make run
We'd love your help in making AresDB great. If you find a bug or need a new feature, open an issue and we will respond as fast as we can. If you want to implement new feature(s) and/or fix bug(s) yourself, open a pull request with the appropriate unit tests and we will merge it after review. Before we can merge your changes, you must agree to the Uber Contributor License Agreement.
Interested in learning more about AresDB? Read the blog post: TBD
Apache 2.0 License, please see LICENSE for details.