
どの企業でも、システム間でのデータの変換や移行は一度は経験するものです。たとえそれが、買掛金システムからデータを抽出してExcelスプレッドシートに追加するといった単純な作業であってもです。こうした作業は、人によっては「データ移行」、人によっては「データ変換」と呼ばれます。
しかし、データ移行とデータ変換はそれぞれ異なる目的を持つ、全く異なる操作です。データ移行はデータをある場所から別の場所へ移動する行為ですが、データ変換はデータを新しい場所でも互換性があり機能するように変更する行為です。
参照: チェックリスト: PC と Mac の移行 (TechRepublic Premium)
企業が新しいシステムやプラットフォームへの移行や統合を決定した場合、いずれはデータの移行が必要になります。大きな変更を加えることなく、すべてのデータを一度に移行するのが理想的ですが、多くの場合、新しいシステムが認識できる形式に変換するために、データを変換したり操作したりする必要があります。
データの移行や変換が必要なプロジェクトを管理している場合、プロジェクトに必要な時間、コスト、リソースを正確に見積もるために、どのような種類のデータ変換を行う必要があるかを把握することが重要です。このガイドでは、データ移行とデータ変換の違い、そしてデータ変換シナリオにおいてこれら2つのプロセスがどのように連携して機能するかについて詳しく説明します。
ジャンプ先:
- データ変換とは何ですか?
- データ変換プロセス
- データ移行とは何ですか?
- データ移行プロセス
- データ変換とデータ移行の違いは何ですか?
データ変換とは何ですか?
データ変換プロセスでは、ユーザーはデータを現在の形式から新しいターゲット システムが受け入れるデータ形式に変更します。
今日では、データ変換作業の大部分を自動化できる抽出、変換、ロードツールが数多く存在します。特に、ソースシステムとターゲットシステムが商業的に普及している場合や、ETLツールにそれらのデータコンバーターが組み込まれている場合はなおさらです。そうでない場合は、ソフトウェアメーカーが、システム間でデータを変換・移動できるアプリケーションプログラミングインターフェースのライブラリを提供しています。
これらのツールにもかかわらず、自社開発のシステムや古いシステムなど、自動データ変換ツールが利用できないケースが依然として多くあります。
このような場合、各システムのデータ形式を評価し、あるシステムからフラットファイルへデータを移行し、そのフラットファイル内のデータを新しいシステムで使用できる新しいデータ形式に変換し、新しいシステムにインポートするツールを社内で開発する必要があります。このようなデータ変換は、面倒で時間のかかる作業になりがちです。
データ変換プロセス
データ変換プロセスは複数のステップで構成されます。まず、ソースシステムとターゲットシステムの両方で表示されるデータの種類を評価し、データ形式の違いに注意する必要があります。次に、データ変換を実行できるAPIまたはETLツールを特定します。
ETL ツールを使用する場合は、まずデータ変換ロジックをツールにコーディングして、ソース システムからデータを取得し、ターゲット システムが受け入れる形式に変換し、再フォーマットされたデータをターゲット システムに取り込むことが重要です。
利用できる ETL ツールまたは API がない場合は、ソース システムからデータを抽出してフラット ファイルに再フォーマットし、ターゲット システムにロードできる独自のデータ変換 API を手動で開発する必要があります。
データ移行とは何ですか?
単純なデータ移行では、新しいシステムが受け入れ可能な形式にデータを再フォーマットするという中間ステップを気にする必要はありません。両方のシステムで同じデータ形式を使用しているため、データをあるシステムから別のシステムに移動するだけです。
一見すると、データ移行はデータ変換よりも簡単そうに見えますし、実際そうであることが多いです。しかし、各データ項目をソースシステムから最終的なターゲットシステムへとマッピングする必要があります。
参照: トップデータ品質ツール (TechRepublic)
また、データ移行が実際にはこれほど単純なケースは稀であることにも留意が必要です。このプロセスには、ほぼ必ずデータ変換やその他のデータ変換手順が組み込まれており、データサイエンスチームはプロセスの前と最中に、データの品質とセキュリティの両方を綿密に評価する必要があります。
データ移行プロセス
いくつかの点では、データ移行はデータ変換と同様の手順に従います。
まず、ソースシステムからターゲットシステムに移動する必要があるデータを特定する必要があります。次に、各データ要素をマッピングして、システム間で正しく移動できるようにします。
参照: 組織のデータガバナンスチェックリスト (TechRepublic Premium)
ソースシステムからのデータは、データ変換と同様にフラットファイルにロードされます。そして、そのフラットファイルのデータは、データ変換と同様にターゲットシステムにロードされます。特に、膨大な量のデータの移動を伴うデータ移行では、データのマッピングとマッチングの段階で多くのリソースと時間がかかる場合があります。
データ変換とデータ移行の違いは何ですか?
数年前、半導体企業のCIOを務めていた頃、あるコンピュータソフトウェアプロバイダーとこの件について議論したことがあります。新しいシステムを売り込もうとするソフトウェアプロバイダーは、既存のシステムから新しいシステムにデータを移行する必要があると主張しました。
私は、この作業は単なるシステム間のデータ移行ではないと反論しました。データの再フォーマットが必要になり、場合によっては新しいシステムに手動で再入力する必要もあるでしょう。つまり、既存のデータのほとんどを新しいシステムで動作するように変換する必要があるのです。私たちが行う作業は、あるシステムから生データを取得して別のシステムに移行するだけの作業とは桁違いに広範囲に及ぶものでした。
参照: よくあるデータ移行の間違いを特定して回避する方法 (TechRepublic)
データ移行とデータ変換の主な違いは、厳密な意味での移行では、データ変換のようにデータの変換やフォーマット変更を行う必要がないことです。そのため、単純なデータ移行は、データ変換やその他の変換を必要とするデータ移行よりも、実行時間が少なくて済むのが一般的です。
データ移行とデータ変換はどちらも、ソースシステムからターゲットシステムへデータを移動します。どちらもフラットファイルという媒体を介してデータを移動します。フラットファイルにはソースシステムから抽出されたデータが含まれており、その後ターゲットシステムにロードされます。どちらの場合も、すべてのデータが正しく転送されたことを確認するために、ターゲットシステムで最終テストを必ず実施する必要があります。
次に読む: クラウドとアプリケーションの移行ツールのトップ 10 (TechRepublic)