2025/12/12

Share

  • Share on Facebook
  • Share on Twitter

OracleからMariaDBへのデータ移行ツールの開発 OracleからMariaDBへのデータ移行ツールの開発

案件概要

OracleからMariaDBへのデータベース移行プロセスを支援するツールを開発・統合しました。
本プロジェクトでは、構造と環境の移行までは完了していたものの、データ自体の移行が未完了であった旧システム(Oracle)から新システム(MariaDB)への移行を完遂させるため、正確かつ効率的なデータ移行専用ツールを実現しました。

利用した技術スタック及び開発ツール

  • プログラミング言語:PHP 7
  • タスク管理ツール:Excel

クライアントの課題

  • 構造移行後のデータ移行手段の欠如

    クライアントはWebシステムのデータベース基盤をOracleからMariaDBへ移行するプロジェクトを進めており、スキーマ構造や環境構築は完了していましたが、実データの移行作業が残されていました。手動や既存の汎用ツールでは対応しきれない固有の要件があり、データ移行を確実に行うための手段が不足していました。

  • 迅速な導入と信頼性の両立

    システム全体の移行スケジュールを守るため、開発から導入までを迅速に行えるスピード感が求められていました。同時に、基幹となるデータを取り扱うため、移行漏れやデータ破損が決して許されない高い信頼性を兼ね備えたツールが必要とされていました。

クライアントの要望

  • 全データの完全な移行支援

    Oracleに格納されている全てのデータを、欠損なくMariaDBへ移行できる専用ツールが求められました。単なるコピーではなく、データ型の違いや仕様差分を吸収できる機能が必要でした。

  • 既存環境との親和性と保守性

    導入のハードルを下げるため、複雑なセットアップが不要で使いやすいツールであることが求められました。また、現在のバックエンドシステムとの親和性が高く、将来的にクライアント自身でメンテナンス可能な構成が望まれました。

当社の提案・アプローチ

  • PHPによるコマンドラインツールの開発

    クライアントがIT企業であり、現行システムがPHPで稼働している点を踏まえ、PHP製のコマンドラインツール(CLI)による開発を提案しました。これにより、既存のサーバー環境をそのまま活用でき、新たなインフラ投資を抑制するとともに、クライアントのエンジニアチームが違和感なく保守・運用できる体制を構築しました。

  • データマッピング設定の最適化

    OracleとMariaDBの仕様差分を吸収するため、テーブル、カラム、データ型の対応関係を詳細に定義できるマッピング機能を実装しました。単純なデータ移動ではなく、移行先での利用を想定した適切なデータ変換処理を組み込むことで、移行後のシステムエラーを未然に防ぎました。

  • OracleとMariaDBの並行接続による整合性確保

    一方からデータを抜いて保存し、もう一方へ入れるという順次処理ではなく、両方のデータベースへ同時に接続して並行処理を行うアーキテクチャを採用しました。これにより、リアルタイムでのデータ比較と検証が可能となり、移行精度の向上と作業時間の短縮を同時に実現しました。

  • 詳細なログ記録とエラー制御

    移行プロセスの透明性を高めるため、処理されたレコード数、所要時間、発生したエラー内容などを詳細に出力するログ機能を実装しました。エラー発生時には処理を適切に制御し、原因究明を容易にすることで、移行作業の安全性を担保しました。

  • 柔軟な構成設定の実装

    接続情報や移行対象テーブルの指定など、変動するパラメータを外部ファイルやコマンドライン引数から柔軟に設定できる仕様としました。これにより、環境の変化や対象範囲の変更に対して、プログラムコードを修正することなく即座に対応可能な運用性を実現しました。