RDSへの大規模で変則的なデータの高速移行

  • 課題

データセンターのオンプレミスサーバーに存在する、Oracleに格納された約4億件のデータをAWSのRDS(MySQL)にデータ投入。コンシューマー向けサービスであるため、数時間のシステム停止時間で実施が必要。

transfer_outline0

  • 対応
  1. タイムラグの影響しない固定的なマスタ類は事前に移行を実施。
  2. 時間的制約があるため、高速にデータ転送するにあたってはインターネットベースの接続であるとスループットが保証できないので専用線サービスである Direct Connect を使用してボトルネックを回避しました。
  3. OracleからMySQLにデータをコンバートするツールは市販で存在しますが、4億件のデータを3時間以内では転送しきれないため、OracleのAPIから直接データを取り出し、そのままMySQLにインサートするツールを独自開発しました。
  4. データの構造的差異の問題を解消するため、ツールにはコンバート機能も持たせました。
  5. データ構造の差異によるアプリケーションの挙動に関してもアプリケーションを修正することにより対応いたしました。

Oracle社推奨のコンバートツールだと34日かかる計算

  → 3時間でミッションコンプリート!

 

transfer_outline