tianlinzx / ceresdb

CeresDB is a high-performance, distributed, schema-less, cloud native time-series database that can handle both time-series and analytics workloads.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CeresDB

License CI OpenIssue Slack Docker

中文

CeresDB is a high-performance, distributed, schema-less, cloud native time-series database that can handle both time-series and analytics workloads.

Status

The project is currently under rapid development. This early stage is not production ready and may incur data corruptions.

RoadMap

See our RoadMap

User Guide

See https://docs.ceresdb.io/

Develop

Compile and run CeresDB

Install dependencies

In order to compile CeresDB, some relevant dependencies(including the Rust toolchain) should be installed.

Dependencies(Ubuntu20.04)

Assuming the development environment is Ubuntu20.04, execute the following command to install the required dependencies:

apt install git curl gcc g++ libssl-dev pkg-config cmake

It should be noted that the compilation of the project has version requirements for dependencies such as cmake, gcc, g++, etc. If your development environment is an old Linux distribution, it is necessary to manually install these dependencies of a higher version.

Dependencies(MacOS)

If the development environment is MacOS, execute the following command to install the required dependencies.

  1. Install command line tools:
xcode-select --install
  1. Install cmake:
brew install cmake

Rust

Rust can be installed by rustup. After installing rustup, when entering the CeresDB project, the specified Rust version will be automatically downloaded according to the rust-toolchain file.

After execution, you need to add environment variables to use the Rust toolchain. Basically, just put the following commands into your ~/.bashrc or ~/.bash_profile:

source $HOME/.cargo/env

Compile and run

Compile CeresDB by the following command:

cargo build --release

Then you can run CeresDB using the default configuration file provided in the codebase.

./target/release/ceresdb-server --config ./docs/example.toml

Platform Support

target OS status
x86_64-unknown-linux-gnu kernel 4.9+ able to build and run
x86_64-apple-darwin 10.15+, Catalina+ able to build
aarch64-apple-darwin 11+, Big Sur+ able to build
aarch64-unknown-linux-gnu TBD tracked on #63
*-windows * not support

Contributing

Any contribution is welcome!

Read our Contributing Guide and make your first contribution!

Architecture and Technical Documentation

Our technical documents(still under writing and polishing) describes critical parts of ceresdb in the docs.

Acknowledgment

Some design of CeresDB references influxdb_iox, and some specific module implementations reference tikv and other excellent open source projects, thanks to InfluxDB, TiKV, and any other referenced great open source projects.

Licensing

CeresDB is under Apache License 2.0.

Community and support

About

CeresDB is a high-performance, distributed, schema-less, cloud native time-series database that can handle both time-series and analytics workloads.

License:Apache License 2.0


Languages

Language:Rust 99.8%Language:Makefile 0.1%Language:Shell 0.1%Language:Dockerfile 0.0%