システムリプレイスに伴うデータ移行やスキーマ変更との付き合い方
システムリプレイスに伴うデータ移行の方法
既存システムをマイクロサービスへと切り分ける際、
DBに保存されているデータの移行に苦労したため振り返りの備忘録です。
DMSによるデータ同期を選択
システム切り替えでのサービス停止をさけるため、
DMSで更新を同期し、既存システムのデータを新システムへと流し込む選択をしました。
MSK + ECSでスキーマ変更に対応
テーブル定義自体に更新があったため、
データ同期と同時に、MSK + ECSでデータの加工を行っています。
発生した課題
当初、アプリケーション構築の1ストーリーとして計画しましたが
手順、計画ともに課題があり難航しました。
検証までにかかる時間が長い
全てのデータが作成されるまで検証が行えず、検証実施まで数日の待ち時間が発生します。
実施段階では、要求仕様時点で洗いもれのレコードや、
本番環境特有の不具合など、想定以上の手戻りが発生しています。
進捗の推移が何度でも0に戻る
通常の開発業務では不具合が検知された場合、タスクを積んでゴールを更新しますが、
データ移行では不備が見つかるたび、0から再作成が必要です。
データ移行やスキーマ変更との付き合い方
やっておいて良かった点、次回以降取り入れたい点です。
テストコード作成
1タスクの認識だったためテストはローカルでの確認のみでしたが、
デバッグ設定の解除漏れによる再作成などが発生したため
テストコード書いておくべきだったと思います。
スキーマ変更とテーブル同期の分離
データ加工とテーブル同期を完全に分離していたため、
移行先DBの構築進捗やステータスに引きずられず作業が実施できました。
アプリケーション構築とのプロジェクト分離
DB定義後から着手可能で、結合テストまでに完了していればいいため
アプリケーション開発とは完全に切り分けて計画した方が
予備工数を設定しやすくなりそうです。
採用PR
弊社で一緒に働く仲間を募集しています。
全てのオタクを幸せにしたい方、是非ご覧ください!
Author And Source
この問題について(システムリプレイスに伴うデータ移行やスキーマ変更との付き合い方), 我々は、より多くの情報をここで見つけました https://qiita.com/wakuwaku7/items/d02bed1b6a121b5a9e0d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .