RisingWave v2.3 のリリースを発表できることを嬉しく思います。今回のリリースでは、ストリーム処理ワークフローにさらに強力な機能と柔軟性が加わりました。本リリースでは、Apache Icebergベースのカラムナ型ストレージ、ワークロード管理のためのリソースグループ、新しいSQL関数など、多くの新機能が導入されています。
以下では、本バージョンリリースの注目機能についてご紹介します。v2.3のすべての更新内容についてご興味のある方は、リリースノート をご覧ください。
カラムナ型データストレージ向けIcebergテーブルエンジン
RisingWaveは、デフォルトの行指向内部ストレージと、Apache Icebergを基盤とするカラムナストレージエンジンの2種類のストレージをサポートしています。Icebergテーブルエンジンを使用することで、データをIcebergフォーマットで外部保存しつつ、RisingWave内でテーブルをネイティブに作成・管理できます。このアプローチには、テーブル管理機能の組み込み、Icebergによるカラムナストレージ、データパイプラインの簡素化、他システムとの互換性向上といった複数の利点があります。
Icebergテーブルエンジンの設定と使用方法については、Icebergテーブルエンジンの使用ガイド をご参照ください。Icebergの機能全般や、RisingWaveエコシステム内での役割について広く理解するには、Iceberg概要 をご覧ください。ストレージオプションの全体像については、ストレージ概要 を参照してください。
Icebergソース・シンク・テーブルエンジン向けS3 Tables統合
RisingWaveをAmazon S3 Tablesに直接接続できるようになりました。S3 Tablesは、互換性のあるREST APIを介して管理されたIcebergカタログとして使用可能です。
RisingWaveのIcebergソースを設定してS3 Tables管理のテーブルを読み込んだり、Icebergシンクを使用して書き込んだり、またはIcebergテーブルエンジンと組み合わせてS3 Tablesをカタログとして活用したりできます。主な利点は、S3 Tablesの自動データコンパクションを利用してメンテナンスを簡素化し、ストレージ最適化が図れる点です。これにより、AWS上でのIcebergワークフローに強力なマネージドカタログオプションが追加されます。
この統合の設定方法については、概要ページ および関連機能ドキュメントをご確認ください。
Elastic Disk Cache(エラスティックディスクキャッシュ)
データがメモリキャッシュを超えた場合に発生するS3コストの増大やレイテンシー問題に直面していませんか?
v2.3では新機能として、Elastic Disk Cache が導入されました。これは、メモリとS3の間にローカルディスクキャッシュ層を追加する機能です。これにより、高価なS3リードを大幅に削減(最大90%のコスト削減を観測)し、大規模な状態を持つストリーミングタスクのパフォーマンスを向上させ、スケーリングとリカバリーの速度を加速させます。
この機能はPremium Edition限定です。詳細はElastic Disk Cacheをご参照ください。
ワークロードの分離と相互運用
これまでは、同一RisingWaveクラスタ内で一つのデータベースに障害が発生すると、他のデータベースにも影響を与える可能性がありました。
RisingWave v2.3では、この課題に対応するために、ワークロードの分離と相互運用のための包括的な機能群が導入され、堅牢なワークロード分離と柔軟な相互運用を実現しています:
- データベースの分離:デフォルトでデータベース間の耐障害性を備えるための中核的な改善。
- リソースグループ:データベースを専用のコンピュートノードプールに割り当て、強力な障害分離、パフォーマンスチューニング、リソースガバナンスを実現。
- クロスデータベースクエリ:異なるデータベース間でテーブルやマテリアライズドビューをクエリでき、データを重複保存することなく統合分析が可能に。特に、分離された環境と組み合わせると強力です。
データベースの分離とリソースグループはいずれもPremium Edition限定機能です。RisingWave Cloudでは自動的に有効化されています。セルフホスト環境でも、コンピュートキャパシティが4コア以下のクラスタであれば、ライセンスなしでPremium Edition機能を試用できます。
詳細はワークロードの分離と相互運用 をご覧ください。近日中にこの機能に関する詳細なブログ記事も公開予定ですので、ご期待ください。
非同期およびバッチ処理に対応したJavaScript UDF
v2.3から、RisingWaveは非同期およびバッチ処理対応のJavaScriptユーザー定義関数(UDF) を導入しました。これにより、非同期操作や複数の入力データを一度に処理できるようになり、I/Oバウンドタスクや外部API呼び出しなどに理想的な選択肢となります。
これを実現するために、拡張された CREATE FUNCTION
構文を使用し、WITH
句内でオプションのasync
およびbatch
設定を指定してJavaScript UDFを定義します。
詳細は非同期およびバッチ処理対応のJavaScript UDF をご参照ください。
バッチクエリ向けASOF JOINの強化
RisingWaveは、v2.1でストリーミングクエリに対してASOF JOINをサポートしましたが、v2.3ではバッチクエリに対するASOF JOINサポートも追加しました。
注意点として、バッチモードでは、右側のテーブルで複数の行が最も近い値に一致する場合、実行ごとに結果が異なることがあります。
詳しくはASOF JOIN をご覧ください。
結論
ここまで、v2.3に含まれる主な新機能について紹介してきました。
ソースおよびシンクコネクタの更新を含む、すべてのアップデート一覧については、リリースノート をご参照ください。
来月も引き続き、新機能を盛り込んだアップデートを予定していますので、どうぞご期待ください。RisingWave GitHubリポジトリ で最新開発情報やリリース計画をチェックできます。
また、月刊ニュースレター にご登録いただければ、RisingWaveの最新情報を常に受け取ることができます。 ぜひTwitterやLinkedInでもフォローしてください。世界中のストリーミング愛好家とつながるには、Slackコミュニティ にもご参加ください。