データ活用・データ連携のお役立ちコラム
データ活用・データ連携のお役立ちコラム
システム移行やデータ活用プロジェクトを進めていく過程で、必要になるのがデータマイグレーション(データ移行)です。これは何を意味して、どのような目的から行われるのでしょうか。この記事では、データマイグレーションについて解説します。
データマイグレーション(データ移行)とは、あるシステムから別のシステムへデータを移すことを意味します。これは大きく2つの状況で必要になるプロセスです。1つは、システム移行で、もう1つはデータ活用です。
システム移行は、その先さらに2つに分類できます。ダウンサイジングとリプレースです。たとえば、メインフレームシステムをオープン環境へ移行するといったダウンサイジング、あるいは、自社開発システムからパッケージへ、AパッケージからBパッケージへ、オンプレミスシステムからクラウドシステムへといった具合にシステムをリプレースするときに、データマイグレーションが発生します。
データ活用は、より正確にいえばデータ分析のためのデータ活用で、データの中から何か気づきや知見を得たいというとき、扱いが容易なようにデータリポジトリに対してデータを送って分析にかけます。
システム移行でデータマイグレーションを行うのは、単純に必要だからです。最新のテクノロジーを採りいれたどんなに新しいシステムでも、そこにデータがなければ動かすことはできません。仏造って魂入れず(ほとけつくってたましいいれず)ということわざがありますが、まさにデータはシステムの魂です。
一方、データ活用のためのデータマイグレーションは、データ分析を進めることで企業収益の向上やコストダウンを図ろうというのが目的になります。近年は、DX推進の観点からデータドリブン経営が提唱されています。データに基づいて企業活動を行う動きが活発化しており、データ活用のためのデータマイグレーションに注目が集まっています。
このプロセスは何より正しく行う必要があります。それこそがデータマイグレーションに絶対的に求められる重要性といえます。データを不正確な状態で移行したならば、新システムでの企業活動は根本から揺らいでしまいます。また誤ったデータを用いた分析は、誤った結果を導きだします。最悪の場合、経営が傾くほどのインパクトをもたらします。そのため、データマイグレーションは注意深く進める必要があります。以下に、このプロセスを推進する際に重視すべき点を挙げます。
不正確なデータは、すでに移行元システムに紛れこんでいる可能性があります。そのため、正しいデータであるかどうかをマイグレーションする前にチェックしなければなりません。このプロセスを怠ると、移行先システムでエラーが多発する結果になりかねません。具体的な検証ポイントとしては、欠落していたり矛盾のあるデータが存在していないか、データが重複していないか、移行先で無効になるデータが存在していないかといったものがあります。
マイグレーション前のデータに妥当性の問題が存在するときは、クレンジングを行います。このプロセスを丁寧に行えば行うほど、後工程をスムーズに進めることができます。また、この段階で変換や加工を加えることも可能です。データフォーマットや文字コードを変えたり、データをマージ/分割したり、必要であれば関数などを使った計算処理を行うこともあります。ここでのミッションは、正確で整合性のとれた使いやすいデータを移行先システムのために作り上げることです。
データマイグレーションに何らかの問題が起こった場合に備えて、対策を考えておくことは重要です。たとえば、マイグレーションをいくつかのフェーズに分け、1つのフェーズ終了ごとに結果を確認する、正常にデータが投入されたのを確認するたびにバックアップを取得しておくといった方法が考えられます。また、本番のデータマイグレーションは限られた時間での実施が求められることも多いため、リハーサルを実施してあらかじめ時間を見積もっておくことも有効です。
データマイグレーションが終了したら、結果を検証します。まずはデータのまとまり単位ごとに確認し、続いてシステム全体として正しくデータが移し終えられたかを見ます。データの合計件数や金額や数量などの数値が合っているか、移行元システムのデータと比較して精査します。いわゆる“現新比較”です。もし、差異があるときはその原因を探り、修正します。その際、新システムに問題がある場合、マイグレーションデータに問題がある場合、2つの可能性が考えられるため、両者の観点で探っていくことが重要です。
データマイグレーションの進めるに当たっては、マイグレーション方針を決定しておくことも重要です。それがデータマイグレーション戦略の立案です。大きく3つの戦略があります。
移行元システムから移行先システムへ、すべてのデータを一気にマイグレーションしようという戦略です。“ビッグバン”マイグレーションとも呼ばれます。
この戦略のメリットは、短期間にデータマイグレーションを完了できることです。新システムをすばやく立ち上げたい、一刻も早くデータ活用を進めたいという場合は、この戦略を検討することになるでしょう。
ただし、デメリットもあります。移行元システム、移行先システムを一時的に停止する必要があるため、ユーザーの利用を制限できないミッションクリティカルなシステムでは選択しにくい方法です。また、マイグレーション負荷やコストも高くなり、何割かの確率で失敗するリスクを覚悟する必要があります。
こちらはデータマイグレーションプロセスを段階的に進めます。“トリクルダウン”マイグレーションとも呼ばれます。
この戦略のメリットは、システム停止を行わなくていいことです。移行元システムと移行先システムを並行稼働させ、ある単位のデータボリュームを複数回にわたって移していきます。
反対にデメリットは、データマイグレーションプロセスに時間がかかることです。そのため、新システムやデータ分析基盤がなかなか本格的に利用できないということになります。また、システム移行の場合は、2つのシステムを一定期間保持し続けなければならず、その分運用負荷やコストがかかります。
これは、一括マイグレーションと段階的マイグレーションの両方を活用してデータマイグレーションしようというものです。たとえば、顧客情報や商品情報などのマスターデータは一括マイグレーションするものの、過去の実績データについては時間軸を切り、新しいものから順にマイグレーションしていくなどといった戦略が考えられます。具体的な方針は、ビジネスの特性や企業の考え方で大きく変わってきます。
メリット、デメリットは、一括マイグレーションと段階的マイグレーションの間を行くものになります。すなわち、一括マイグレーションほど短期間には完了しないが、すべてを段階的マイグレーションするよりは早く終わり、大きなシステム停止や新旧システムの長期間にわたる並行稼働は必要ないが、どちらもまったく生じないわけではないということです。
データマイグレーションを進めるに当たっては、次のような手順が考えられます。
まず行うのは全体戦略の確認です。何のためにデータマイグレーションを行うのか、これで享受すべき成果は何なのか、目的をしっかり理解しておくことも重要です。データマイグレーションチームを結成する場合は、打ち合わせ機会を持ち、全体スケジュールやそれぞれの役割分担をしっかりチーム内で共有しておきます。
ここでは、どのデータをマイグレーション対象として、どのような方針で移していくのかを決定します。具体的には、全体戦略を念頭に置きながら、移行元システムと移行先システムの双方を分析し、データマイグレーションのあり方を考えます。たとえば全件移す必要があるのか、それとも一部で済むのかといったことや、実際のマイグレーションボリューム、対象データをマイグレーションする理由なども明確にしておきます。
前のプロセスで行った要件定義に基づいて、マイグレーション対象をさらにブレークダウンしていきます。ここでは移行元システムと移行先システムとの間のデータ対応がわかる粒度まで詳細に掘り下げ、データ間をマッピングします。この段階で、マイグレーション前の状態を維持してそのまま送るか、それとも途中で変換や加工を施すかといったことも決定します。
データマイグレーションプログラムを開発するプロセスです。属人性を排除するためには、あらかじめチーム内で開発標準をしっかり確立しておくことが重要です。また、データマイグレーションがシステム移行から生じる場合、データマイグレーションプログラムはシステム側の仕様変更の影響を受けます。この点には注意が必要です。最近では、データ移行ツールを活用してノンプログラミングで進めるケースが増えています。ツールを利用すれば、プログラムの属人化や仕様変更による開発工数増大といった懸念もなくなります。
体制が整ったら、テストやリハーサルを行います。その回数に特に決まりはありません。何か不安要素があれば、3回でも4回でも繰り返して行うのがよいでしょう。回数を重ねればそれだけ手際がよくなり、精度も高まります。このとき、利用するインフラ環境には注意してください。本番環境とリソースが大きく異なる場合、その結果で本番マイグレーションの成否を予想することができないということになります。
いよいよ本番データマイグレーションです。リハーサルで確立した手順どおりに進めますが、それでも不測の事態が起こることもあります。そのような場合に備え、想像できる範囲で幅広く対応策を用意しておくとよいでしょう。
無事にマイグレーションプロセスが完了したら、検証を行います。移行先システムの画面や帳票などを通じて、正しいデータが出力されているかどうかをチェックします。
データマイグレーションでは、データ移行ツールが用いられることも増えてきました。ここでは、ツールを利用するメリットを挙げてみます。
データマイグレーションプログラムの開発にはプログラミング知識が必要で、熟練エンジニアに頼ることになります。しかし、すぐれたGUIを備えたデータ移行ツールであれば、直感的なマウス操作で誰でも簡単にデータマイグレーションプログラムを開発できます。
データマイグレーションプログラムは、しっかりした開発標準が存在しないかぎり属人化しがちで、継承も困難です。一方、ツールによるデータマイグレーションは誰が担当しても同じ結果になるため、人材配置に流動性が持てます。
ツールの中には強力なデータマイグレーションエンジンを搭載したものがあり、高速にプロセスを実施できます。これに対してデータマイグレーションプログラムの性能は、その記述によって左右されるため、場合によっては随時チューニングが必要です。
データ移行ツールには、データ変換や加工の機能を豊富に搭載したものがあります。これを利用すれば、そのままデータをマイグレーションするケースだけでなく、幅広いシチュエーションのデータマイグレーションに対応することができます。
データ移行ツールは、データ品質を確保した状態で、スマートかつ迅速にデータマイグレーションすることをサポートします。ツールを導入するときは、以下のような点に注目ししましょう。
DB、CSV、XML、JSON、Excel、EDIなど、企業情報システムで使用されているデータは多彩です。幅広いデータマイグレーションに適用するには、さまざまなフォーマットに対応しているものが適しています。
データのマッピングに習熟を要するようでは、迅速なデータマイグレーションは実現できません。直観的な操作で設定できるものを選びます。
右から左へ、単にデータを移せばいいというケースは少ないもの。データマイグレーションプロセスの中で求められる、さまざまな変換や加工に対応できるツールであれば安心です。
データマイグレーションの所要時間は、インフラ環境もさることながら、データ移行ツールによっても大きく左右されます。データマイグレーションに与えられる時間が限られているプロジェクトも多いため、ツールの性能には十分留意したいものです。
ここまでデータマイグレーションについて見てきました。これは、システム移行やデータ活用プロジェクトに必ずといっていいほど付随するもので、実現しなければ新システムの利用やデータ分析といったその先の目的を果たすことができません。その意味で、組織として神経を注ぐべきプロセスといえます。データマイグレーションを実行する際には、計画の段階から極めて戦略的に取り組むことが重要です。
メインフレームからオープン環境への国民健康保険システム移行
PC1台で数千万件のデータ変換を13時間で可能としたRACCOON
数TBに上るメインフレームデータのオープン移行
16時間でデータ変換を完了したRACCOON
公共・自治体向けパッケージで生じるデータ移行プロセス
RACCOON採用で属人化を解消、生産性と利益率が向上
EDIシステムの刷新をきっかけに
ACMS Apex + RACCOONで、グループ全体のデータ連携基盤を実現
基幹システム製品のクラウド化で求められたデータ移行工程の見直し
RACCOONで精査が必要なデータを簡単かつ高品質に移す体制を確立
めざしたのは4通販サイトへのデータ提供の自動化
RACCOON導入で情報の精度・スピードが一気に向上
基幹EDIインフラをAS/400からAWSへ
ACMS Apex、RACCOONが短期開発に貢献