データ移行とは
データ移行(データいこう、データマイグレーション)とは、異なるシステム環境間でデータを移動する
プロセスを指します。具体的には、ストレージの種類、データの形式、利用する
コンピュータなどが変更される際に、データを新しい環境へ転送することを意味します。
この作業は、組織や個人が
コンピュータの交換やアップグレード、システムの統合(企業の合併など)を行う際に必要となります。データ移行は、システムの中核を担うミッションクリティカルな作業であり、手順を誤ると重大なシステム障害を引き起こす可能性があります。
データ移行は、一般的に自動化されたツールを利用して行われますが、小規模なシステムや特別な要件がある場合には、手動での移行も行われます。手動の場合には、作業ミスを防ぐために、詳細にレビューされた手順書が用意されます。大規模なシステムでは、自動・手動に関わらず、リハーサルを繰り返して問題点を洗い出すことが重要です。
データ移行を効率的に行うためには、古いシステムのデータを新しいシステムにマッピングし、データの抽出とロードを行う必要があります。この
プロセスで最も重要なのは、古いシステムのデータが新しいシステムでそのまま利用できない場合があるため、何らかの変換や加工が必要になる点です。データ移行は、このようなデータの変換・加工を含む全体の
プロセスを指します。
新システムへのデータロード後には、データが正しく転送され、新システムが正常に動作するかどうかを検証する必要があります。この検証のために、新旧のシステムを並行して動作させ、結果を照合するなどの作業が必要になる場合もあります。
また、データ移行時には、データをきれいに整え、品質を向上させるデータクレンジングを行うことが一般的です。不要な情報や古い情報を削除し、新しいシステムの要件に合わせてデータを変換します。
データ移行の工程(設計、抽出、クレンジング、ロード、検証)は、新システムが実際に稼動するまでに何度か繰り返されるのが一般的です。
データ移行の種類
データ移行は、その目的によって以下の4種類に分類できます。
1.
ストレージ移行
記憶装置の技術革新により、新しい種類の
記憶装置にデータを移行する必要がある場合に行われます。
仮想化技術を利用することで、データ自体は変更せずにコピーし、上位層からは透過的にアクセスできるようにすることが多いです。また、デジタルデータの長期保管のため、古い媒体から新しい媒体へデータを移行することも含まれます。
2.
データベース移行
データベースソフトウェアを別のものに変更する場合や、同じソフトウェアでもバージョンアップする場合に行われます。バージョンアップでは通常は移行は不要ですが、大きなアップグレードではデータのフォーマットが変更されるため、変換が必要になる場合があります。アプリケーションへの影響は、データ操作言語やプロトコルが変更されるかどうかに依存します。
3.
アプリケーション移行
CRMやERPなどのアプリケーションベンダーを乗り換える場合に行われます。各アプリケーションは独自のデータモデルを使用しているため、データの変換が必須です。商用オフザシェルフパッケージでは、顧客ごとに
メタデータを用いて設定されていることが多いため、APIを利用して
データ完全性を保持する必要があります。
4.
ビジネス[[プロセス]]移行
ビジネス[[プロセス]]とは、人間とアプリケーションシステムが連携する
プロセスであり、
ビジネス[[プロセス]]管理ツールを用いて運用されます。
ビジネス[[プロセス]]の変更は、組織、顧客、製品、オペレーションに関する情報の変化を引き起こし、データ、
データベース、アプリケーションの変更が必要になることがあります。例えば、企業の買収、合併、組織変更などがこの移行のきっかけとなります。
データ移行とデータ統合の違い
データ移行は、ある環境から別の環境へデータをコピーし、元の環境からデータを消去するプロジェクトを指します。移行には数カ月から数年かかる場合もあり、その間、データは複数箇所に保持され、何度も移行が行われることがあります。データ移行にはETL(抽出、変換、ロード)作業が必須ですが、その手段は一般的なETLツールの利用に限られません。
一方、データ統合は、ITアーキテクチャの永続的な一部であり、様々なアプリケーションやデータ格納域の間でのデータの流れを指します。したがって、データ統合は一時的なプロジェクトではなく、継続的な
プロセスです。運用系からデータウェアハウスへデータを供給するETL技術は、データ統合の一例です。
まとめ
データ移行は、システム環境の変化に伴い不可欠な
プロセスであり、その種類や規模に応じて慎重な計画と実行が求められます。データ移行は単なる
データ転送ではなく、データの変換、クレンジング、検証を含む包括的な作業であり、移行先のシステムが正常に動作することを保証するために、入念な準備と検証が必要です。