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