RisingWaveとは?
RisingWaveは、リアルタイムイベントストリーミングデータを処理、分析、管理するための、最もシンプルでコスト効率の高いアプローチを提供する、Postgres互換のSQLベースのストリーミングデータベースです。
RisingWaveは毎秒数百万件のイベントを取り込み、ライブデータストリームと履歴テーブルを継続的に結合・分析し、リアルタイムでアドホックなクエリを実行し、必要な場所で新鮮で一貫した結果を提供します。
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を統一システムとして考えると、イベントストリーミング、ストリーム処理、ストレージ、サービング機能を組み合わせたものです。開発者は、カスケードされたマテリアライズドビューを通じて複雑なストリーム処理ロジックを表現できます。さらに、データをシステム内で直接永続化することができ、結果を外部データベースに配信して格納・クエリサービングする必要がなくなります。
Discussion