
システム導入をする際に、データの移行はできるのか
業務効率化などの目的で、システム導入を考える企業は多いでしょう。
しかしこれまで使っていたシステムなどから、データを移行できるかどうかがポイントになるのではないでしょうか。
この記事ではシステム導入をする際に、データの移行はできるのかを説明していきます。
目次
データの移行とは
データ移行とは、データを1つ(または複数)のデータストレージや流通経路から別のデータストレージや流通経路に移動させるプロセスのことをいいます。
データ移行には、あるストレージや配信チャネルから別のストレージや配信チャネルへのデータの移動、またはあるストレージや配信チャネルから別のストレージや配信チャネルへのデータのサブセットの移動が含まれます。
データ移行の手順とは
データを互換性のあるフォーマットに変換した後、新しいシステムに移行することができます。
移行するファイルの1つまたはすべての内容を移行しなければならない場合があります。
データファイルの一部だけをコピーするのではなく、データファイルの内容全体を移行する方が常に良いでしょう。
ファイルをコピーする際、新しいシステムがそのファイルの全文を持っている場合もあれば、持っていない場合もあります。
場合によっては、新しいシステムがファイルのフルテキストを持っていないこともあります。
新システムがファイルの全文を持っていないと、互換性のあるフォーマットに変換しなければならないデータについて想定することができないからです。
新しいシステムについて何の想定もできない場合、データ変換作業はより困難で時間のかかる場合があります。
データファイルが変換された後、変換プロセスが完了しているかどうかを確認する必要があります。
もし変換プロセスが完全でなければ、データが新システムと互換性を持たないため、変換にはより多くの費用がかかることになります。
データ移行をする前に考えたいこと
移行の際には、解決したい問題を考えてみるといいかもしれません。
例えば、データベースのスキーマを入れ替えたい場合、既存のデータを使って入れ替えることはできるかもしれませんが、テーブルを今までのように作り直すことはできないかもしれません。
この場合、新しいデータは古いスキーマの文脈の中でのみ使用することになるかもしれません。
例えば、新しいスキーマで使われているテーブルやテーブルセットから値を取得する関数を書くことができます。
CSVのような異なるデータ形式を扱う場合、データの変換やフォーマットに関数を使うと便利です。
関数を使用すると、異なるデータ形式で保存されているデータを、そのデータが保存されていたのと同じ形式に変換することができます。
場合によっては、プラットフォームやデータを変更することが有益な場合があります。
例えば、そのプラットフォームに特有のデータや機能を更新したい場合があります。
例えば、データの保存方法や機能を変更することができるかもしれません。
移行を成功させるために注意すべきこと
移行を成功させるためには、以下の3点に注意する必要があります。
- 正確にデータを移行すること
- 本番の移行手順を明確に
- 期限中に移行が終わること
正確にデータを移行すること
まず意識するべきは、データを正確に移行することです。
もしここで間違ってデータを移行してしまうと、あとで修正作業が大変になります。
最初に正確にデータを移行しておけば、あとで手間をかけることはありません。
本番の移行手順を明確に
最終的な目標は、本番用データベースと同じ構造を持つ新しいデータベースを作成することです。
移行の際には、本番データベースに必要のないデータを変更しないようにすることが重要です。
また、移行プロセスでエラーが発生してはいけません。
期限中に移行が終わること
目標時刻が遅れた場合、移行処理は延期され、目標時刻に到達するまでデータがバックアップされます。
つまり、目標時刻まではデータは安全ですが、目標時刻に到達した後は、再度移行を開始する必要があります。
目標時刻に達した場合でも、移行中にサービスを手動で操作することはできません。
目標時刻が遅れた場合、移行プログラムは失敗します。
元の時刻と目標時刻の間に非常に強い時間差がなければ、データは得られません。
ターゲットタイムが遅れた場合、データが得られないことを予測することはできません。
元の時刻と目標時刻の間に時間差がある場合にのみ、バックアップからデータを復元しようとすることができます。
ターゲットタイムが遅すぎる場合、データは復旧できません。
ターゲットタイム(移行を停止するタイム)を持つバックアップファイルを、別のパーティションを持つ別のドライブに置くことができます。
このドライブは別のパーティション名でなければなりません。
データ移行が大変といわれる理由
- コンティンジェンシープランも立てなければならない
- オンプレミスからクラウドへはそのまま移行できないことがある
コンティンジェンシープランも立てなければならない
マイグレーションで最も重要なことは、マイグレーションそのものではなく、そもそもシステムをマイグレーションするということです。
移行はほとんどが手作業で行われるため、適切な方法で移行を行う必要があります。
マイグレーションのメリットは何か?
移行することで、異なる動作環境でアプリケーションをテストしたり、バグを修正したり、パフォーマンスを向上させたりすることができます。
したがって、移行は、新しい開発・生産環境を採用する主な理由の1つです。
マイグレーションのデメリットは何か?
アプリケーションが本番環境で動作している場合、移行は多くの問題を引き起こします。
例えば、ユーザーが同じユーザー名とパスワードを使ってアプリケーションにログインしている場合、移行は問題を引き起こします。
多くの問題を回避するためには、バックアップシステムの助けを借りて移行を行わなければなりません。
また、移行はそれ自体が大きなプロジェクトになることもあります。
オンプレミスからクラウドへはそのまま移行できないことがある
例えば、一般的な企業では、自分で管理しなければならない社内サービスがあるとします。
このようなサービスは、ソフトウェア管理ソリューションで管理されていることが多く、サーバーのアーキテクチャを変更する必要はないでしょう。
一方で、Webアプリケーションなどのサービスを追加する必要がある場合もあるでしょう。
幸運にも、これらのサービスを管理できるソフトウェア管理ソリューションを持っていれば、サーバーアーキテクチャをクラウドに移行できるかもしれません。
しかし、クラウドコンピューティングは無料ではありません。
クラウドが管理するサービスには対価を支払う必要があります。
もちろん、すべてのクラウド事業者がそうであるとは限りません。
クラウド管理ソリューションは高額になる場合がありますので、その価格に耐えられるかどうかを判断する必要があります。
クラウドの移行は、適切に行わなければならず、そのプロセスは必ずしも直感的ではないため、難しい作業です。
まとめ
システムを導入するとき、考えないといけないのはデータの移行です。
これまでに使っていたシステム、もしくはエクセルなどで管理していた場合でも、スムーズにデータを移行をできるかを考えるべきでしょう。
システム開発のITパートナー探しをされるのであれば
システム開発のITパートナー探しをされるのであれば「システム開発コンシェルジュ」で是非ご相談いただければと思います。
以下のフォームより開発でご相談いただきたい内容などご相談ください。