Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Snowflake リリースに注意を払いたくなる話
Search
金綱 雅也
October 31, 2025
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Snowflake リリースに注意を払いたくなる話
Snowvillage Unconference #7 にてSnowflakeリリース体系とbcr-1995について話しました。
金綱 雅也
October 31, 2025
Other Decks in Programming
See All in Programming
JIS keyboard support in Omarchy
lef237
0
130
ジョジョの世界をXRで再現する
mofurune
0
170
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Event is what happens
moro
2
860
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
contenteditable と日本語入力に向き合う
colorful12
0
200
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
AWSに止められる覚悟してますか?
morizo_1984
2
540
Workers Cache を知る
syumai
0
370
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Designing Experiences People Love
moore
143
24k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Deep Space Network (abreviated)
tonyrice
0
370
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Thoughts on Productivity
jonyablonski
76
5.4k
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
ありがとうございました