
14.3
データの継続性
281
バージョンで同じデータストレージを問題なく共有することができないときである。
データが読み出し専用なら問題はない。その場合は、単純にデータをコピーすれば、新バージョン
のコンポーネントは自分用のコピーを使える。コンポーネントのバージョンによってデータ形式が変わ
らないのならさらに話は簡単で、両バージョンで同じデータを共有できる。スタティックなウェブコン
テンツをホスティングするウェブサーバーでは、これが一般的な形である。
しかし、これら以外の場合には、コンポーネントやアプリケーションは、データ形式の変更にもかか
わらず、ゼロダウンタイムデプロイを有効にするように書かれていなければならない。たとえば、アッ
プグレード中にアクティブになる読み出し専用モードを持つようにコンポーネントを書く方法が考えら
れる。あるいは、トランザクションログを使って、データストアのインスタンスに書き込まれた変更を
アップグレード完了後の新インスタンスで再生する方法もある。
データ形式の変更をソフトウェアのリリースから切り離すのも、データをともなうゼロダウンタイム
デプロイへの効果的なアプローチになる。このアプローチでは、ふたつの異なるデータ形式(オリジ
ナルバージョンと新バージョン)を操作できるようにソフトウェアを書かなければならない。最初は、
オリジナル形式のデータを使ってテスト、デプロイされる。そして、ソフトウェアの実行中にバックグ
ラウンドタスクによってデータをマイグレートする。ソフトウェアは、特 ...