risingwave - RisingWave:クラウド内の次世代ストリーミングデータベース。

(RisingWave: the next-generation streaming database in the cloud.)

Created at: 2022-01-28 20:58:03
Language: Rust
License: Apache-2.0

RisingWaveロゴ

スラック CI codecov

RisingWaveは、インターフェイス言語としてSQLを使用するクラウドネイティブのストリーミングデータベースです。リアルタイムアプリケーションの構築の複雑さとコストを削減するように設計されています。RisingWaveはストリーミングデータを消費し、継続的なクエリを実行し、結果を動的に更新します。データベースシステムとして、RisingWaveは独自のストレージ内に結果を保持し、ユーザーがデータに効率的にアクセスできるようにします。

RisingWaveは、Apache Kafka、Apache Pulsar、Amazon Kinesis、Redpanda、マテリアライズドCDCソースなどのソースからデータを取り込みます。

詳細については、RisingWaveの概要をご覧ください。

クイックスタート

インストール

RisingWaveをインストールするには、ビルド済みのパッケージを使用する方法と、ソースからコンパイルする方法の2つがあります。

ビルド済みパッケージを使用する(Linux)

# Download the pre-built binary
wget https://github.com/singularity-data/risingwave/releases/download/v0.1.7/risingwave-v0.1.7-x86_64-unknown-linux.tar.gz
# Unzip the binary
tar xvf risingwave-v0.1.7-x86_64-unknown-linux.tar.gz
# Start RisingWave in single-binary playground mode
./risingwave playground

Dockerを使用する(Linux、macOS)

現在、x86_64のみがサポートされています。将来的にはarm64ビルドを提供する予定です。

# Pull nightly build of RisingWave
docker pull ghcr.io/singularity-data/risingwave:latest
# Start RisingWave in single-binary playground mode
docker run -it --network host ghcr.io/singularity-data/risingwave:latest playground

RiseDev(LinuxおよびmacOS)を使用してソースからコンパイルする

# Install Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone the repo
git clone https://github.com/singularity-data/risingwave.git && cd risingwave
# Compile and start the playground
./risedev playground

ソースからビルドするには、システムにいくつかのツールを事前にインストールする必要があります。を使用

./risedev configure
して、コンパイル設定を構成できます。詳細については、開発者ガイドを参照してください。

RisingWaveクラスターを起動し、ストリーミングデータを分散して処理し、メトリックの収集やデータの永続性などの他の機能を有効にすることができます。詳細については、開発者ガイドを参照してください。

最初のクエリ

RisingWaveサーバーに接続するには、事前にPostgreSQLシェル

psql
)をインストールする必要があります。

# Use psql to connect RisingWave cluster
psql -h localhost -p 4566
/* create a table */
create table t1(v1 int not null);

/* create a materialized view based on the previous table */
create materialized view mv1 as select sum(v1) as sum_v1 from t1;

/* insert some data into the source table */
insert into t1 values (1), (2), (3);

/* (optional) ensure the materialized view has been updated */
flush;

/* the materialized view should reflect the changes in source table */
select * from mv1;

すべてが正しく機能する場合は、

 sum_v1
--------
      6
(1 row)

ターミナルで。

外部ソースへの接続

詳細については、スタートガイドを参照してください。

ドキュメンテーション

RisingWaveの使用方法については、RisingWaveのドキュメントを参照してください。開発プロセスについては、開発者ガイドを参照してください。RisingWaveの設計と実装を理解するには、readme.mdにリストされている設計ドキュメントを参照してください

ライセンス

RisingWaveはApacheLicense2.0の下にあります。詳細については、ライセンスを参照してください。

貢献

プロジェクトへの貢献に関心をお寄せいただき、ありがとうございます。詳細については、貢献ガイドラインを参照してください。