1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

リアルタイムデータ処理を変革する「RisingWave」の仕組みとは?

Last updated at Posted at 2025-01-06

RisingWaveは、リアルタイムイベントストリーミングデータを処理、分析、管理するための、最もシンプルコスト効率の高いアプローチを提供する、Postgres互換のSQLベースのストリーミングデータベースです。

RisingWaveは毎秒数百万件のイベントを取り込み、ライブデータストリームと履歴テーブルを継続的に結合・分析し、リアルタイムでアドホックなクエリを実行し、必要な場所で新鮮で一貫した結果を提供します。

image.png

RisingWaveはどんな場合に最適ですか?

RisingWaveは次のようなシナリオに最適なソリューションです:

  • KafkaストリームやデータベースCDCなどのリアルタイムデータソースの管理
  • 結合、集計、時間ウィンドウ処理などの複雑なクエリの実行
  • 一貫性のある、最新の結果をインタラクティブかつ同時に探索
  • 下流システムへの結果のシームレスな配信
  • ストリーミングデータとバッチデータの統合処理

RisingWaveはどのようなユースケースで優れたパフォーマンスを発揮しますか?

RisingWaveは以下のユースケースで特に効果的です:

  • ストリーミング分析:ライブダッシュボードでのサブ秒単位のデータ新鮮度を実現。株式取引やスポーツベッティング、IoT監視などの重要なシナリオに最適です。
  • イベント駆動型アプリケーション:詐欺や異常検出など、重要なアプリケーションのための高度な監視とアラートシステムを開発。
  • リアルタイムデータの強化:多様なデータソースからデータを継続的に取り込み、リアルタイムでデータを強化し、その結果を下流システムに効率的に提供。
  • 特徴量エンジニアリング:バッチデータとストリーミングデータを機械学習モデルの特徴量に変換し、統一されたコードベースを使用してシームレスな統合と一貫性を確保。

RisingWaveと他のシステムの比較

RisingWaveは単なる「代替」製品ではなく、ストリームプロセッサー、分析データベース、オペレーショナルデータベースと比較されることがよくあります。

ストリームプロセッサー

ksqlDB、Spark Structured Streaming、Flink SQLなどのストリームプロセッサーは、RisingWaveと比較されることがよくあります。これらのシステムにはそれぞれの強みがありますが、RisingWaveは非常にシンプルなPostgreSQLスタイルのユーザー体験を提供し、手動での状態管理の必要性を排除しています。特に優れた点は:

  • 結合、集計、時間ウィンドウなどの複雑なクエリを高パフォーマンスで処理
  • 動的スケーリングの透明性があり、数秒でスケールイン・スケールアウト可能
  • 即時の障害回復機能で、RisingWaveは数秒で回復します

さらに、RisingWaveは全体のアーキテクチャを大幅に簡素化します。詳細は、RisingWaveはどのようにイベント駆動型アーキテクチャを簡素化するか?をご覧ください。しかし、これらのストリームプロセッサーと比較すると、RisingWaveは低レベルのJavaおよびScala APIを提供していませんが、さまざまな言語のUDFやSDKを提供することで補っています。

分析データベース

ClickHouse(マテリアライズドビュー)、Snowflake(ダイナミックテーブル)、BigQuery(継続的クエリ)、Databricks(Delta Live Tables)などのモダンな分析データベースは、継続的な処理機能を提供します。RisingWaveは、次の点でこれらのソリューションを上回ります:

  • 時間ウィンドウ、ウォーターマークなどを含む、ストリーム処理の豊富な機能セットを提供
  • 複雑なストリーミングジョインを処理するために特に最適化
  • どのシステムからでもデータを取り込み、配信でき、特定のエコシステムにロックされることはない

さらに、RisingWaveの透明な動的スケーリングと即時の障害回復メカニズムは、他の分析データベースに勝ります。

ただし、RisingWaveはカラム型ストレージを使用していません。もしあなたのワークロードが、事前定義されたクエリではなく、アドホックな長期間のスキャンを主に含むものであれば、分析データベースの方が適しているかもしれません。

オペレーショナルデータベース

RisingWaveはPostgreSQLワイヤ互換で、PostgreSQLエコシステム内のほとんどのツールとシームレスに統合できます。RisingWaveは、ストリーミングデータの格納と処理に特化して設計されており、トランザクションデータではなく、メトリクスやイベントの管理に特に適しています。

注意点として、RisingWaveは内部でPostgreSQLエンジンを使用していないため、特定のPostgreSQLツールはサポートされていません。また、RisingWaveは読み書きトランザクションをサポートしていません。

RisingWaveはどのようにイベント駆動型アーキテクチャを簡素化するか?

RisingWaveは、イベント駆動型アーキテクチャの簡素化を目指しています。RisingWaveを統一システムとして考えると、イベントストリーミング、ストリーム処理、ストレージ、サービング機能を組み合わせたものです。開発者は、カスケードされたマテリアライズドビューを通じて複雑なストリーム処理ロジックを表現できます。さらに、データをシステム内で直接永続化することができ、結果を外部データベースに配信して格納・クエリサービングする必要がなくなります。

image.jpeg

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?