$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snowflake リリースに注意を払いたくなる話
Search
金綱 雅也
October 31, 2025
Programming
0
130
Snowflake リリースに注意を払いたくなる話
Snowvillage Unconference #7 にてSnowflakeリリース体系とbcr-1995について話しました。
金綱 雅也
October 31, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
AIコーディングエージェント(Manus)
kondai24
0
170
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.2k
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
Go コードベースの構成と AI コンテキスト定義
andpad
0
120
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
エディターってAIで操作できるんだぜ
kis9a
0
720
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
320
認証・認可の基本を学ぼう前編
kouyuume
0
200
Developing static sites with Ruby
okuramasafumi
0
280
TestingOsaka6_Ozono
o3
0
150
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
460
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
110
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
RailsConf 2023
tenderlove
30
1.3k
Site-Speed That Sticks
csswizardry
13
1k
Optimizing for Happiness
mojombo
379
70k
A designer walks into a library…
pauljervisheath
210
24k
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
ありがとうございました