Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snowflake リリースに注意を払いたくなる話
Search
金綱 雅也
October 31, 2025
Programming
0
46
Snowflake リリースに注意を払いたくなる話
Snowvillage Unconference #7 にてSnowflakeリリース体系とbcr-1995について話しました。
金綱 雅也
October 31, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
KoogではじめるAIエージェント開発
hiroaki404
1
170
ALL CODE BASE ARE BELONG TO STUDY
uzulla
28
6.8k
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
140
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
17k
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
100
Go言語はstack overflowの夢を見るか?
logica0419
0
650
One Enishi After Another
snoozer05
PRO
0
170
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
110
Vue 3.6 時代のリアクティビティ最前線 〜Vapor/alien-signals の実践とパフォーマンス最適化〜
hiranuma
2
270
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
47k
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
830
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
How STYLIGHT went responsive
nonsquared
100
5.9k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Producing Creativity
orderedlist
PRO
348
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Transcript
Snowflakeリリースに注意を払いたくなる話 株式会社サイバーエージェント AI事業本部 AIオペレーションテクノロジーカンパニー 金綱 雅也
金綱 雅也 (かねつな まさや) 所属 株式会社サイバーエージェント AI事業本部 AIオペレーションテクノロジーカンパニー ソフトウェアエンジニア 経歴
2025年4月入社 広告事業におけるレポーティングシステムの開発 主にSnowflake、Python、AWSを触っています
1. Snowflakeのリリース体系 2. Behavior Change Bundleについてブレークダウン 3. 2025_04 Bundleで起きた SQL
エラー 4. 教訓
Snowflakeのリリース体系
新機能・動作変更・緊急対応を支える 3+1本柱 Full release 新機能追加・改善 Patch release Behavior Change Bundle
Unbundled Behavior Change 新機能追加・改善 週次リリースで提供される UI/パフォーマンス改善を含む Patch release Full release後に必要に応じて実施される不具合 修正 Behavior Change Bundle 既存機能の挙動が変わる更新 テスト/オプトアウト期間が設けられる Unbundled Behavior Change バンドル外で実施される インフラ・セキュリティ関連の挙動変更
リリースをいちいち追いかけるのは面倒 → 気にするべきところだけを気にする習慣をつける
気にするべきリリースとは 新機能 / Patch release → 習慣的な追跡は不必要 × Unbundled Behavior
Change → 習慣的な追跡がかなり困難 × Behavior Change Bundle → 習慣的な追跡が必要かつ可能 ⚪ Full release 新機能追加・改善 Patch release Behavior Change Bundle Unbundled Behavior Change
Behavior Change Bundleについてブレークダウン
Behavior Change は気にしなくていいかもしれない
Behavior Change Bundleとは 多くの場合、約8週間かけてステータスを遷移させていく デフォルト無効化 → デフォルト有効化→ 一般有効化 デフォルト無効化期間は有効化可能 (逆も然り)
一般有効化されたら無効化不可能 デフォルト無効化期間 = テスト期間 デフォルト有効化期間 = オプトアウト期間 既存の振る舞いを変える変更を段階的にリリースするための仕組み →急激な互換性の破壊を避ける
2025_07 Bundle の例 (「Snowflake Bundle 2025_07」で検索) ⚪ 9.32release(10/13) ~ 10.1release
(2026年1月): テスト期間 (有効化できる) ⚪ 10.1release ~ 10.6release (2026年2月): オプトアウト期間 (無効化できる) ⚪ 10.6release ~ : 一般有効化 (無効化できなくなる )
2025_04 Bundleで起きた SQL compilation error
2025_04 Bundleで何が起きたか 8/4: オプトアウト期間が開始 (自動有効化) Snowparkにおいて、同一サブクエリが CTE化されるようになった (CTE最適化クラス) (「Snowflake bcr-1995」で検索
) A B_r C_r JOIN = A CTE(B) CTE(C) JOIN
bcr-1995の問題 CTE最適化が重複サブクエリを 1つのノードに統合、 左テーブル由来のエイリアスマップで更新 → 右テーブルのエイリアスマップに対して上書きが行われる → 元々付与していた rsuffix が失われる
→ 最終的なSQLで左右の列名が同一になるケースが発生、列名重複エラーを返却される 暫定対応: lsuffixで左テーブルの列名を変えることで衝突回避 (実はcte_optimization_enabledフラグを見てCTE最適化の適用可否を判断されていた )
やっぱり Behavior Change は気にするべきだと思う
教訓
教訓 これまで動いていたクエリがいきなり落ちた場合は → 直近で有効化された Behavior Change はあるか確認 Behavior change 由来のエラーでサポートへ問い合わせる場合は
→ 事象発生日・リリース番号・対象バンドルのステータスを添えて共通認識を作る
当方ではdev/prdの2アカウント体制をとっています dev prd
ありがとうございました