RisingWaveのトップ12の機能

![截屏2025-02-05 下午4.13.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3945294/0549d748-8aac-befe-991e-13d3dd666281.png)

RisingWaveは、リアルタイムのイベントストリーミングデータの処理、分析、管理を合理化するために設計された最先端のSQLデータベースです。しかし、他のデータベースと何が違うのでしょうか？最近のユーザー調査で評価の高かった12の主要機能を紹介します。これらの機能が、リアルタイムデータの複雑さに対応するための選択肢としてRisingWaveを際立たせています。

## **PostgreSQL互換性**

RisingWaveはPostgreSQLとワイヤ互換があり、[psycopg2](https://pypi.org/project/psycopg2/)、[`pgx`](https://github.com/jackc/pgx)、[SQLAlchemy](https://www.sqlalchemy.org/) などのPostgreSQLツールやドライバとシームレスに動作します。つまり、既存のPostgreSQLのスキルやツールをそのまま利用でき、新しいものを学ぶ必要がありません。また、PostgreSQL互換性により、急速に成長・進化しているPostgreSQLエコシステムの他のシステムと簡単に統合できます。詳細については、Vonngの優れたブログ記事 [Postgres is eating the database world](https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4) をご覧ください。

## **豊富なソース・シンク対応**

RisingWaveには、Kafka、MySQL、PostgreSQL、Iceberg などの多くのデータソースおよびデスティネーション用の組み込みコネクタが搭載されています。これにより、さまざまなシステムからデータを取り込み、処理したデータを複数の出力先へ簡単に送信できます。完全な統合リストは[こちら](https://docs.risingwave.com/integrations/overview)をご覧ください。

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3945294/394cea75-79d4-475c-bbb7-841f54063a89.png)


## **高性能な結合処理**

RisingWaveのアーキテクチャは、複数のデータストリームと履歴データを効率的に結合できるように設計されています。これにより、複雑なクエリを簡単に処理し、より迅速にインサイトを得ることが可能です。

![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3945294/393aefb0-282e-88d8-2b5c-c079be382999.png)


## **動的スケーリング**

RisingWaveは[自動スケール](https://docs.risingwave.com/deploy/k8s-cluster-scaling)が可能で、数秒以内にワークロードの変動に対応できます。そのため、インフラ管理に手間をかけることなく、データ分析に集中できます。

## **即時の障害復旧**

RisingWaveは、障害が発生しても数秒以内に復旧できる即時障害復旧機能を備えています。データの整合性と可用性を維持しながら、ダウンタイムを最小限に抑えることができます。これにより、データパイプラインの信頼性とパフォーマンスが向上します。

## **分離されたサービングノード**

RisingWaveでは、[専用のサービングノード](https://docs.risingwave.com/operate/dedicated-compute-node#configure-a-serving-compute-node-for-batch-queries) を使用して、データの取り込みや処理とは別にクエリの実行を管理できます。この分離により、パフォーマンスが向上し、より高速なインサイトを得ることが可能です。

![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3945294/3a7335f4-e423-2cd6-073a-5b94825bb3e9.png)


## **UDF、UDAF、UDTFのサポート**

RisingWaveは、[ユーザー定義関数（UDF）](https://docs.risingwave.com/sql/udfs/user-defined-functions)、ユーザー定義集約関数（UDAF）、ユーザー定義テーブル関数（UDTF）をサポートしています。これにより、SQLだけでは実装できない複雑なロジックを追加し、RisingWaveをユースケースに合わせて柔軟に適用できます。

## **自動スキーマ変更**

RisingWaveでは、ダウンタイムなしでデータストリームのスキーマを変更できます。そのため、手動操作なしで進化するデータ要件に対応できます。

## **包括的なストリーミングSQL機能**

RisingWaveは、[ウォーターマーク](https://docs.risingwave.com/processing/watermarks)、[時間ウィンドウ](https://docs.risingwave.com/processing/sql/time-windows)、[時間フィルター](https://docs.risingwave.com/processing/sql/temporal-filters) などの包括的なストリーミングSQL機能を備えています。これにより、イベントストリーミングデータをユースケースに応じて柔軟に変換できます。

## **dbtとの統合**

RisingWaveはdbtと統合されています。dbtの強力なモデリング機能を活用し、データの管理や変換を行えます。詳細は[dbt-risingwaveアダプタのページ](https://docs.getdbt.com/docs/core/connect-data-platform/risingwave-setup)をご覧ください。

## **タイムトラベルクエリ**

RisingWaveの[タイムトラベルクエリ機能](https://risingwave.com/blog/time-travel-queries-in-risingwave/) を使用すると、過去の特定時点のデータを取得できます。これは、監査、デバッグ、過去のトレンド分析に不可欠です。

## **サーバレスなバックフィリング**

RisingWaveは、長時間待つことなく効率的に過去のデータをバックフィルできます。そのため、データパイプラインが常に最新の状態に保たれます。

## **まとめ**

これらの12の機能が組み合わさることで、RisingWaveはリアルタイムイベントストリーミングデータ管理において、強力かつ柔軟なソリューションとなります。