CeresDBは、時系列ワークロードと分析ワークロードの両方を処理できる、高性能で分散型のスキーマレスのクラウドネイティブ時系列データベースです。
プロジェクトは現在急速に開発中です。この初期段階は本番環境に対応しておらず、データが破損する可能性があります。
ロードマップを見る
このリポジトリのクローンを作成し
git、次のように入力します。
git clone git@github.com:CeresDB/ceresdb.git
cd ceresdb
が開発環境にインストールされていることを確認して
dockerから、提供されているDockerfileを使用してイメージをビルドします。
docker build -t ceresdb .
ビルドされたDockerイメージを使用してceresdbコンテナーを起動します。
docker run -d -t --name ceresdb -p 5440:5440 -p 8831:8831 ceresdb
CeresDBをコンパイルするには、いくつかの関連する依存関係(
Rustツールチェーンを含む)をインストールする必要があります。
開発環境がUbuntu20.04であると仮定して、次のコマンドを実行して、必要な依存関係をインストールします。
apt install git curl gcc g++ libssl-dev pkg-config cmake
プロジェクトのコンパイルには、実際にはcmake、gcc、g ++などのいくつかの依存関係のバージョン要件があることに注意してください。開発環境が古いLinuxディストリビューションの場合は、より高いバージョンのこれらの依存関係を手動でインストールする必要があります。
Rustrustupでインストールできます。rustupをインストールした後、CeresDBプロジェクトに入ると、指定された
Rustバージョンがrust-toolchainファイルに従って自動的にダウンロードされます。
実行後、ツールチェーンを使用するには環境変数を追加する必要があります
Rust。基本的に、次のコマンドを
~/.bashrcまたはに入力するだけ
~/.bash_profileです。
source $HOME/.cargo/env
次のコマンドでCeresDBをコンパイルします。
cargo build --release
次に、コードベースで提供されているデフォルトの構成ファイルを使用してCeresDBを実行できます。
./target/ceresdb-server --config ./docs/example.toml
CeresDBは、カスタム拡張SQLプロトコルをサポートしています。現在、httpサービスを介してSQLステートメントを使用してテーブルを作成し、データを読み取り/書き込みできます。
curl --location --request POST 'http://127.0.0.1:5440/sql' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "CREATE TABLE `demo` (`name` string TAG, `value` double NOT NULL, `t` timestamp NOT NULL, TIMESTAMP KEY(t)) ENGINE=Analytic with (enable_ttl='\''false'\'');"
}'
curl --location --request POST 'http://127.0.0.1:5440/sql' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "INSERT INTO demo(t, name, value) VALUES(1651737067000, '\''ceresdb'\'', 100)"
}'
curl --location --request POST 'http://127.0.0.1:5440/sql' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "select * from demo"
}'
curl --location --request POST 'http://127.0.0.1:5440/sql' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "show create table demo"
}'
curl --location --request POST 'http://127.0.0.1:5440/sql' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "DROP TABLE demo;"
}'
どんな貢献でも大歓迎です!
寄稿ガイドを読んで、最初の寄稿をしてください!
私たちの技術文書(まだ執筆と研磨中)は、ドキュメントでceresdbの重要な部分を説明しています。
CeresDBの一部の設計はinfluxdb_ioxを参照し、一部の特定のモジュール実装は、InfluxDB、TiKV、およびその他の参照された優れたオープンソースプロジェクトのおかげで、tikvおよびその他の優れたオープンソースプロジェクトを参照します。
CeresDBはApacheLicense2.0の下にあります。