カナリアリリースとは?かなりありりーす
カナリアリリースとは、新版をまず一部のサーバや利用者にだけ適用し、指標を見ながら対象を段階的に広げるリリース方式。データベースを共有する構成では新旧のアプリケーションが同じ表を同時に読み書きする時間が必ず生じるため、列の追加と削除を別々のリリースに分け、どちらの版でも壊れない定義を保つことが前提になる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
夜間に全台を止めて入れ替えていた頃は、テーブル定義の変更とアプリの入れ替えを同じ停止時間の中で終わらせられたので、新旧が同居する問題そのものが起きなかった。オンライン受注のように24時間動く業務では停止枠が取れず、動かしたまま少しずつ入れ替えるしかなくなった。そのとき残る唯一の共有資源がデータベースであり、スキーマ変更をどう二段階に割るかが設計判断になる。
具体例
受注表に配送区分列を足すなら、まず既定値付きで列だけを追加する。PostgreSQL 11以降はこの形の追加がカタログの更新だけで済み、1,000万行の表でも即座に終わる。この状態で新版を1%のサーバへ配り、エラー率を30分見てから10%、50%と広げる。旧列を落とすのは全台が新版になった後の別リリースにする。
試験での引っ掛け
一斉に切り替えるブルーグリーンと違い、新旧が同居する時間が必ずある。旧版が知らない列にNOT NULLを最初から付けて追加すると旧版のINSERTが落ちるうえ、MySQLでは表の作り直しが走って長時間ロックされる。追加はNULL許容か既定値付き、制約の追加とデータ移送は後続リリース、という順が鉄則。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。