【Snowflake BUILD 2025】Interactive Table & WarehouseによるSub-Second分析
がく@ちゅらデータエンジニアです!
ご無沙汰です・・・・すっかり筆が湿っておりました。
ほんと全然書いていない・・・・
昨年はアドベントカレンダーもたった一本・・・
いかんぞ、いかんぞ。自分!!!
概要

先日、こんなリリースが出ていました
インタラクティブテーブル??????
なんぞ??????
オンデマンド配信はこちら
日本語訳Botさんの投稿はこちら
- リアルタイム処理??????
- ハイブリッドテーブルとはどうちゃうの???
- 検索最適化とどうちゃうの?
- Snowflake Postgres と機能かぶらん?
- コストどうなんやろ、比較できるかな?
って思いました。
Snowflake上で、OLTP的な動きをするものとして考えられるのが
- Snowflake Postgres
- Hybrid Table
- Table + 検索最適化
- そして、Interactive Table

正直、発表でこのような図があったのですが、いまいちしっくりこない・・・
トランザクション、ハイブリッド、分析、リアルタイム分析・・・わからん><
この使い分けについて、先日
この中で、Snowflakeの中の人のtomoさん(ちょうどBUILDで発表をなさった)とYoshiさんがいらしたので、その中で質問をぶつけました
Interactive Tableは、KSQLみたいなもの
Interactive Tableの特徴としては、リアルタイムに流れてくるデータを分析できること
この「リアルタイム」というのは、IoTのデータなどがゴンゴンSnowflakeに入ってくる(Snowpipe Streaming)で入ってくるようなデータをリアルタイムに「Transfer(変換)」して、可視化するようなユースケースで使うそうです
まさに、Apache KafkaなどでStreamingで流れてくるデータをリアルタイムに変換する「KSQL」、それが終着地点のSnowflakeの中にあるイメージとのことです
また、専用のWHは24時間稼働ということで、XSでも1日24クレジット かかるので、まぁ最低利用料金はなかなかのものに。
【訂正】
インタラクティブWHは通常より安く、XSだと 0.6クレジット/時 (14.4クレジット/日)でした。誤った情報を載せてしまった、ごめんなさいーー
5秒以上でTimeoutといったなかなか漢な仕様www
Snowflake Postgres, Hybrid Table , Table + 検索最適化
SnowflakeはもともとOLAPなソリューションだったとは思いますが、使い方としてポイントルックアップ=フィルタを掛けて集計ではなくそのレコードを取得するようなシーンでは、上記3つの選択肢があります。
- Snowflake Postgres
- Hybrid Table
- Table + 検索最適化
Snowflake Postgres
- 同時接続が1000とかそれ以上のアプリケーションで100ms以下のレイテンシを求められるといった用途
Hybrid Table
- 同時接続もそこまで多くなく社内アプリ的な用途で、300ms程度のレイテンシならこれ
- コスト
- https://docs.snowflake.com/ja/user-guide/tables-hybrid-cost
- ハイブリッドテーブルリクエスト
- ハイブリッドテーブルのストレージコストは従来のテーブルのストレージより割高
- ハイブリッドテーブル固有の操作(読み込み/書き込み)に対して 追加のサーバーレス クレジット消費 が発生
- 課金量は、対象データの読み書きした データ量ベース で測定
- コンパクションなどのバックグラウンド処理に使用されるコンピューティングリソースにも消費
- 費用はクラウドサービスにかかる
- Snowflake Postgresとの違いは、従来のTableとJOINができたりすること
Table + 検索最適化
- 同時接続も多くなく、800msとかのレイテンシで十分な場合はこれで十分
- 検索最適化を貼るだけなので、非常にシンプルかつコストも3つの中では安い
- コスト
- ストレージ
- SOS で生成される 検索アクセスパスデータ構造 の保存に対して発生
- 参考として、元テーブルサイズの約 1/4 程度になるケースが多いとみなされる
- コンピュート
- サーバレスクレジット
- 初期構築時に発生
- INSERT/UPDATE/DELETE といった DML 操作ごとに検索アクセスパスを更新 するための処理
- ストレージ
なので、同時接続や接続アプリの用途(一般公開か、社内アプリか?)や要求レイテンシで使い分けるのが良さそうです。
「Sub-second分析」ってのの意味が、聞いてみてやっと分かったww
ニアリアルでもない、秒で分析・・・の意味なのね
AI Agentワークロード ってのがいまいちわからない・・・・まだこのあたりの理解が浅いのよなぁ。複数のAI Agantが動いていて、リアルタイムに情報更新して、リアルタイムにAI Agenticなアラートを出したり、アプリ出したりなのかな


専用WHが必要
24時間稼働だけど、通常のWHを24時間よりはコストパフォーマンスはいいとのこと
※が、まぁ24時間稼働だと最低料金はそこそこいってしまいそうですね
Snowpipe Streamingとかそのあたりの「リアルタイム」に入ってくるデータの処理をターゲット

InteractiveTableに対しては、InteractiveWarehouseでのアクセスもできるし、通常Warehouseからもアクセス可能。
InteractiveWarehouseは外部向け、通常Warehouseは内部向け みたいな使い分け
当日の質問





SHAREに対応していないorz
まあ、GAになったり、そのうち必ず対応してくれるでしょう

Discussion