👏

❄️ Snowflakeアップデート:カラムの最大サイズが128MBに!

に公開

はじめに

2025年2月予定のアップデート(2025_02バンドル)で、Snowflakeのカラムサイズ上限が大きく変わるようです。

これまでは一部データ型で16MBまたは8MBまでしか保存できなかったのが、今後は128MB/64MBまで拡張される予定です。

以下、背景・課題・対応・結果に加え、具体的なユースケースを交えてわかりやすく解説します。

https://docs.snowflake.com/en/release-notes/bcr-bundles/2025_02/bcr-1942

背景(なにが変わるのか)

これまでVARCHARやVARIANTなどに大きなデータを格納しようとすると、「上限16MB」「8MB」でエラーになっていました。

今回のアップデートで下記のように上限が大きく拡張されます:

データ型 旧上限 新上限
VARCHAR, VARIANT, ARRAY, OBJECT 16MB 128MB
BINARY, GEOGRAPHY, GEOMETRY 8MB 64MB

活用例(ユースケース)

このサイズ拡張により、次のような活用が可能になります。

1. 巨大なJSON・ネストデータの保存(IoT・アプリログなど)

  • 想定例:Firebaseログ、センサー情報、GA4のイベントデータ
  • 効果:128MBまでのJSONをそのまま格納・クエリ可能

2. チャット履歴やサポートログの保存と分析

  • 想定例:カスタマー対応の会話履歴、Slackログ、チャットボット応答
  • 効果:1スレッド分の長文でもVARCHARに格納し、NLP/LLM分析が可能

3. 中間データの一時保存(ETL・dbtステージ)

  • 想定例:配列集計、VARIANTの保持、複雑なJOIN処理中の中間ステップ
  • 効果:中間処理の柔軟性・安定性がアップ

4. ファイルや画像データのBase64格納(BINARY/VARCHAR)

  • 想定例:一時的な画像保存、OCR前のPDF保管など
  • 効果:BINARY型64MBまで対応。Cloud Storageなしでも処理可能に

5. 地理空間データの高度な保存と分析

  • 想定例:複雑な地形・ポリゴン(国境線、地下鉄網など)
  • 効果:64MBまでのGEOGRAPHY/GEOMETRYで高精度な地図処理が可能に

期待される効果(アップデートのメリット)

  • リッチデータの処理がより柔軟に
  • AI/BI/IoTなど多様な分野への応用が可能
  • 開発やETLの効率化・クエリの安定性向上

課題(便利になるけど注意点あり)

変更により、便利になる一方で注意点もあります:

  • デフォルトのサイズは従来通り(VARCHARは16MB)
  • CREATE TABLE AS SELECT(CTAS)でサイズ超過するとエラー
  • 古いドライバでは新サイズに非対応

対策(どうすればいいのか)

① 明示的にサイズを指定する

CREATE TABLE my_table (
  big_col VARCHAR(134217728)  -- 128MBに拡張
);

② CTASではCASTを使ってサイズ指定

CREATE TABLE new_table AS
SELECT CAST(col1 AS VARCHAR(134217728)) FROM large_table;

③ ドライバを最新版に更新

古いクライアントやBIツールでは、以下のようなエラーが発生する場合があります:

100067 (54000): Actual length <X> exceeds supported length of 16777216.

このようなエラーが出た場合は、ドライバを最新版にアップデートしましょう。

まとめ:変更点のポイント

データ型 旧上限 新上限
VARCHAR, VARIANT, ARRAY, OBJECT 16MB 128MB
BINARY, GEOGRAPHY, GEOMETRY 8MB 64MB

※ VARIANT, ARRAY, OBJECT は新規テーブル作成時のデフォルトが128MBに変更
※ VARCHAR と BINARY は明示的に長さを指定しないと旧サイズのまま

注意:「Pending(保留中)」の状態です

このアップデートは現在「Pending」であり、すぐに有効になっているとは限りません。

  • 有効化状況は組織によって異なります
  • Snowflakeの管理者に確認するか、Bundle Historyで確認しましょう

参考リンク

https://docs.snowflake.com/en/release-notes/bcr-bundles/2025_02/bcr-1942

Discussion