データ移行テストの自動化ガイド | TechRepublic

データ移行テストの自動化ガイド | TechRepublic
ビッグデータストレージのコンセプトアート。
画像: knssr/Adobe Stock

オンプレミスからクラウドシステムへの、あるいは複数のクラウドシステム間でのデータ移行は、あらゆる規模や業種の企業で一般的かつ複雑な作業です。移行対象となるデータの種類は、メールメッセージからOfficeドキュメント、PDFファイル、データベース、ウェブサイトデータ、コードリポジトリまで多岐にわたります。

参照:データ移行テストのチェックリスト: 移行前と移行後(TechRepublic Premium)

実行するデータ移行の複雑さに関係なく、移行前、移行、移行後の段階でテストを完了することが重要です。

これは面倒なプロセスになりがちです。重要なステップを見落とし、移行全体のセキュリティ、パフォーマンス、精度に悪影響を与える可能性が非常に高いからです。しかし、時間をかけてデータ移行のテストプロセスを自動化すれば、明確で管理されたテスト計画を確立しながら、長期的には時間を節約できます。

ジャンプ先:

  • データ移行テストの種類
  • データ移行ツール
  • データ移行テストを自動化するための戦略
  • データ移行テストを自動化する手順

データ移行テストの種類

データ移行テストは様々な方法で分類できるため、存在するデータ移行テストの「種類」を定義するのは困難です。まず、移行元と移行先のシステムの種類によってテスト方法が異なる可能性があります。

参照:データ移行のベストプラクティス(TechRepublic)

以下の各種類のデータ移行テストでは、システムに保存されているデータの量、データのフォーマット、そして今後どのように変換する必要があるかを考慮することが重要です。また、システムに組み込まれているセキュリティやコンプライアンス機能、そしてそのデータが日常の業務運営にとってどれほど重要であるかも考慮する必要があります。

その枠組みを念頭に置いて、ソース システムの形式に基づいたさまざまな種類のデータ移行テストを以下に示します。

  • データベース移行テスト
  • オペレーティングシステム移行テスト
  • サーバー移行テスト
  • アプリケーション移行テスト
  • データセンター移行テスト
  • クラウド移行テスト

選択するデータ移行テストの種類は、タイムライン、予算、プロセスをサポートするための社内リソースやチームなど、さまざまな要因によっても異なります。

移行したデータをテストする際に考慮すべき要素

移行のカットオーバーを確実に成功させるには、以下の10項目のデータ移行要素をテストし、機能を確認する必要があります。これらの要素の多くは移行前にテストする必要がありますが、移行プロセス全体を通して、さらには移行後も確認する必要がある要素もいくつかあります。

  • アクセス可能性:データはターゲット ソース上でアクセスできます。
  • 正確性:データはそのままで使用可能です。
  • 転送の信頼性:すべてのデータが転送され、100%の転送速度が達成されるかどうか。これをテストするには、ソースとターゲットのデータセットのサイズを比較する必要があるでしょう。
  • 自動化の信頼性:自動化された転送が期待どおりに開始され、タスクを完了できるかどうか。
  • 速度:予測可能なベースラインを確立するためにデータが転送される速度。
  • 再現性:テストを何度も実行して同じ結果が得られるかどうか。
  • エラー チェック:データの読み取り、転送、または他の場所への書き込み時にエラーが発生したかどうか、またこれらのエラーをどのように修正できるか。
  • セキュリティ:適切な個人およびグループのみがターゲット ソース上のデータにアクセスできるようにします。
  • エンリッチメント:データとアクセスをターゲット ソース上で最適化できるかどうか。
  • 保護:データはバックアップされ、ターゲット ソースに復元できます。

データ移行ツール

比較的小規模なデータセットを単一のシステムから別のシステムに移動できる消費者向けツールは数多くありますが、この記事では、大規模なデータセットを対象としたビジネスレベルの移行ツールに焦点を当てています。

  • Apex Data Loader:オープンソースの Salesforce データ移行ツール。
  • AWS Data Pipeline: AWS データストア間でデータを移行するソリューション。
  • Azure Cosmos DB:さまざまなデータ ソースで動作するオープン ソースのコマンド ライン ツール。
  • Azure DocumentDB: Microsoft によるオープン ソースのデータ移行ツール。
  • Configero Data Loader: Salesforce 用の Web ベースのデータ ローダー アプリケーション。
  • Dell EMC Rainfinity:異機種混在環境間で機能するデータ移行ツール。
  • IBM Informix :複数のオペレーティング システムで動作する SQL ベースのデータ移行ツール。
  • Informatica Cloud Data Wizard:共通オブジェクトとカスタム オブジェクトを操作する Salesforce データ ローダー アプリケーション。
  • SnapLogic:サービス ツールとしての統合プラットフォーム。
  • Stitch Data:クラウドベースの ETL プラットフォーム。

昔ながらのシンプルなrsyncコマンドでさえ、私自身も頼りになる高品質なデータ移行ツールだと考えています。データ移行ベンダーを検討する際には、環境との互換性、信頼性、速度、セキュリティ、そしてスケーラビリティに注目してください。

データ移行テストを自動化するための戦略

正式なカットオーバー期限前に十分な時間を確保してテストを実施することが、データ移行に伴う大変な作業の大部分を占めるのが通例です。テストは短期間の場合もあれば長期間にわたる場合もありますが、プロセスが「本番」フェーズに進む前に、徹底的に実施し、確認する必要があります。

ここで重要な要素となるのは、自動化されたデータ移行アプローチです。このプロセスはシームレスに機能し、同時にバックグラウンドで動作し、人的介入を最小限に抑える必要があります。そのため、私は継続的なレプリケーション、あるいは頻繁なレプリケーションによって同期を維持することを推奨しています。

参照:効果的なデータ移行テストのガイド(TechRepublic)

一般的な戦略の一つは、スケジューラーやcronジョブを使ってバックグラウンドで自動データ同期を実行することです。この方法では新しいデータのみが同期されます。プロセスが実行されるたびに、転送される情報量は徐々に減少していきます。

これはトリクルデータ移行と呼ばれ、ほとんどの企業が毎日少量のデータを使用し更新するため、効果的に機能します。テスト初日に10TBのデータ移行を実施した場合、実際のカットオーバー直前には、最近変更または更新されたわずか30GBのデータしか移行されない可能性があります。

データをバックアップする

移行がソースからターゲットへのデータのコピーのみであっても、続行する前に必ずデータのバックアップを取ってください。システムエラーと人為的エラーの組み合わせは恐ろしい事態を引き起こす可能性があります。ターゲットデータが誤ってソースデータに対してrsyncされ、データが誤って削除されるという、rsync操作がひどく失敗した事例を目にしたことがあります。

移行の対象となるデータセット、ソースシステム、ターゲットシステムを特定する

移行するデータと移行先を特定します。複数のソースと複数のターゲットが関係し、データセットごとに優先度が異なる可能性があります。本当に必要なデータのみを移行するようにしてください。この時点でデータ重複排除ソリューションを実行してデータセットを合理化することを検討してください。ただし、データ保持ポリシーに関する要件を認識し、遵守することが重要です。

何がどこに保存されているかを完全に把握しておく必要があります。最も重要なのは、移行するデータの総量を把握することです。特にデータストレージについては、ターゲット側に十分なリソースがあることを確認する必要があります。

トリクルデータ移行戦略を使用して、既存のデータをテストおよび移行します。

可能な限り、トリクルデータ移行コピー戦略を計画してください。これは、ソースをターゲットに定期的に同期し、次回の実行では新しいファイルのみを転送する戦略です。当然のことながら、最初の移行操作は最も時間がかかり、複雑になります。必要に応じてベンダーのサポートを受けてください。

自動化技術を特定し、その精度をスポットチェックする

データ移行が確実に自動的に実行されるようにするための自動化技術と原則を特定します。一貫性と簡素化のため、これらはデータソースや重要度に関わらず、全面的に適用する必要があります。

データ移行の進捗状況をチームに通知する監視機能とアラート機能は、今検討すべき重要な要素です。ターゲット側でのデータ検証は「スポットチェック」プロセスで手動で実施できますが、数百、数千ものファイルを一つ一つチェックすることは不可能です。

必要なセキュリティ対策を適用する

データ保護だけでなく、移行ツールが適切に機能することを保証するためにも、移行元と移行先の環境にセキュリティが適切に適用されていることを確認してください。特に特定の業界や事業地域では、どのようなデータガバナンスや規制プロトコルを追加または維持する必要があるかを検討することも重要です。

テストデータを使ってライブテストを実施する

ソリューションを実装し、無関係なデータを使ったライブテストを実施します。多くの場合、ダミーファイルを使用しますが、空のファイルの使用は避けてください。ターゲットシステムとソースシステムでコンテンツが同じであることを確認する必要があるため、空のファイルは役に立ちません。

自動化を設定し、結果を監視する

自動データ移行プロセスを設定・実行し、結果を監視します。この記事で紹介するデータ移行テストの種類のすべての要素が適切に満たされていることを確認してください。

このタスクと残りの手順は、社内のデータ移行チームによって処理できますが、このレベルの自動化とテストを実装するにはベンダーのサポートを導入する必要がある場合もあります。

次に読む:クラウドとアプリケーションの移行ツールのトップ 10 (TechRepublic)

Tagged: