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
180
0
Share
Snowflake リリースに注意を払いたくなる話
Snowvillage Unconference #7 にてSnowflakeリリース体系とbcr-1995について話しました。
金綱 雅也
October 31, 2025
Other Decks in Programming
See All in Programming
CSC307 Lecture 17
javiergs
PRO
0
310
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
Inside Stream API
skrb
1
540
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
770
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.9k
Modding RubyKaigi for Myself
yui_knk
0
860
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
350
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
170
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
230
Featured
See All Featured
HDC tutorial
michielstock
2
680
Technical Leadership for Architectural Decision Making
baasie
3
390
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
470
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Side Projects
sachag
455
43k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
Docker and Python
trallard
47
3.9k
How STYLIGHT went responsive
nonsquared
100
6.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
320
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
ありがとうございました