ストリーミングデータベース
概要
ストリーミングデータベース(Streaming Database)は、ストリーミングシステム の考え方をデータベースに取り込み、継続的に流れ込むデータに対してリアルタイムにクエリ結果を更新し続ける データベースです。書籍『ストリーミング・データベース』が扱う領域で、従来のバッチ的なクエリと、ストリーム処理の橋渡しをします。
従来DBとの違い
- 従来DB:保存されたデータに対し、問い合わせの瞬間にクエリを実行(pull 型)
- ストリーミングDB:クエリを登録しておくと、新しいデータが来るたびに結果が更新される(push 型)
- 中心概念は マテリアライズドビュー(Materialized View)の継続的な更新
主なユースケース
代表的なプロダクト(例)
- Materialize、RisingWave、ksqlDB など(ストリームに対する SQL)
関連トピックとの接続
- 理論的基盤 → ストリーミングシステム(イベント時刻・ウィンドウ・ウォーターマーク)
- データストア選択 → クラウドアプリケーション設計原則(用途に最適なデータストアを選ぶ)
- パフォーマンス → MySQLパフォーマンス / システムパフォーマンス