github.com/rohankumardubey/aresdb@v0.0.2-0.20190517170215-e54e3ca06b9c/README.md (about) 1 [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] [![license](https://img.shields.io/github/license/uber/aresdb.svg)](LICENSE) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fuber%2Faresdb.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fuber%2Faresdb?ref=badge_shield) 2 3 <br> 4 <p align="center"><img src="docs/logo.png" alt="AresDB Logo" width="220" height="209"></p> 5 6 AresDB 7 ============== 8 AresDB is a GPU-powered real-time analytics storage and query engine. It features low query latency, high data freshness and highly efficient in-memory and on disk storage management. Please see AresDB's features, architecture design described in the [Uber Engineering Blog](https://eng.uber.com/aresdb/). 9 10 This repo contains the source code of AresDB and debug UI. 11 12 Legal Note 13 ---------- 14 AresDB requires the CUDA Toolkit. Please ensure you read, acknowledge, and accept the [CUDA End User License Agreement](https://docs.nvidia.com/cuda/eula/index.html). 15 16 Getting started 17 --------------- 18 To get AresDB: 19 20 ``` 21 git clone --recursive https://github.com/uber/aresdb.git $GOPATH/src/github.com/uber/aresdb 22 ``` 23 24 NVIDIA Driver and CUDA Setup 25 ---------------------------- 26 AresDB needs [NVIDIA driver](https://www.nvidia.com/Download/index.aspx) version >= 390.48 and [CUDA](https://developer.nvidia.com/cuda-91-download-archive) version 9.1. 27 28 Environment Variables 29 --------------------- 30 Run the following to make sure the following environment variables are correctly set: 31 ``` 32 export PATH=/path/to/cuda/bin:${PATH} 33 export LD_LIBRARY_PATH=/path/to/cuda/lib64:/path/to/aresdb/lib:${LD_LIBRARY_PATH} 34 export PKG_CONFIG_PATH=${LD_LIBRARY_PATH}/pkgconfig:${PKG_CONFIG_PATH} 35 ``` 36 37 38 Language Requirements 39 --------------------- 40 Building and running AresDB requires: 41 * [golang](https://golang.org/) 1.9+ 42 * C++ compiler that support c++14 43 * [cmake](https://cmake.org/download/) 3.12+ 44 * [nvcc](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) version 9.1 45 46 Build 47 ----- 48 The following dependencies need to be installed before building the binary. 49 50 ### glide 51 We use [glide](https://glide.sh) to manage Go dependencies. Please make sure `glide` is in your PATH before you attempt to build. 52 ### 53 54 Run following commands to generate makefile: 55 ``` 56 cmake . 57 ``` 58 59 60 Local Test 61 ---------- 62 AresDB is written in C++ (query engine) and Golang (mem store, disk store and other query components). Because of this, we break testing into two parts: 63 ### Test Golang Code 64 #### Ginkgo 65 We use [Ginkgo](https://github.com/onsi/ginkgo) as the test framework for running the Golang unit test and coverage. Install Ginkgo first and run 66 ``` 67 make test-golang 68 ``` 69 70 ### Test C++ Code 71 #### google-test 72 We use [google-test](https://github.com/google/googletest) as the test framework to test C++ code. Install google-test and set the environment variable, GTEST_ROOT, to the installed location. 73 74 After you have installed properly, run 75 ``` 76 make test-cuda 77 ``` 78 79 Run AresDB Server 80 ----------------- 81 The following command will start an AresDB server locally. You can start to query the server using a curl command or [swagger](https://github.com/uber/aresdb/wiki/Swagger) page. 82 ``` 83 make run_server 84 ``` 85 86 Run AresDB Docker 87 ----------------- 88 Please read the [Docker](docker/README.md) page. 89 90 Documentation 91 -------------- 92 93 Interested in learning more about AresDB? Read the [blog post](https://eng.uber.com/aresdb/) 94 95 License 96 ------- 97 Apache 2.0 License, please see [LICENSE](LICENSE) for details. 98 99 [ci-img]: https://travis-ci.com/uber/aresdb.svg?branch=master 100 [ci]: https://travis-ci.com/uber/aresdb 101 [cov-img]: https://codecov.io/gh/uber/aresdb/branch/master/graph/badge.svg 102 [cov]: https://codecov.io/gh/uber/aresdb 103