Azure でのメインフレーム データのレプリケートと同期

Azure Data Factory
Azure Databricks

この参照アーキテクチャでは、Azure への最新化の間にデータをレプリケートおよび同期するための実装計画の概要について説明します。 データ ストア、ツール、サービスなどの技術的な側面について説明します。

Architecture

Architecture diagram showing how to sync on-premises and Azure databases during mainframe modernization.

このアーキテクチャの Visio ファイルをダウンロードします。

ワークフロー

メインフレームとミッドレンジのシステムにより、オンプレミスのアプリケーション データベースが一定の間隔で更新されます。 整合性を維持するため、ソリューションによって最新のデータが Azure データベースと同期されます。 同期プロセスには以下の手順が含まれます。

  1. これらの操作は、プロセス全体で実行されます。

    1. オンプレミスのデータ ゲートウェイにより、オンプレミス システムと Azure サービスの間でデータがすばやく安全に転送されます。 この構成により、オンプレミスのデータゲートウェイを使用して、Azure から命令を受信し、オンプレミスのネットワークでローカル データ資産を直接公開することなくデータをレプリケートできます。
    2. Azure Data Factory パイプラインにより、データ抽出からデータ読み込みまでの範囲のアクティビティが調整されます。 パイプラインのアクティビティをスケジュールしたり、手動で開始したり、自動的にトリガーしたりすることができます。
  2. Db2 zOS、Db2 for i、Db2 LUW などのオンプレミスのデータベースに、データが格納されます。

  3. パイプラインを使用して、タスクを実行するアクティビティがグループ化されます。 データを抽出するため、Data Factory によってオンプレミスのテーブルごとに 1 つのパイプラインが動的に作成されます。 その後、Azure でデータをレプリケートするときに、超並列実装を使用できます。 ただし、要件を満たすようにソリューションを構成することもできます。

    • 完全なレプリケーション: データベース全体をレプリケートし、ターゲットの Azure データベースのデータ型とフィールドに必要な変更を行います。
    • 部分、差分、または増分レプリケーション: ソース テーブルの "基準値列" を使用して、更新された行を Azure データベースと同期します。 これらの列には、連続してインクリメントされるキーか、テーブルの最終更新を示すタイムスタンプが含まれます。

    Data Factory のパイプラインは、次の変換タスクにも使用されます。

    • データ型の変換
    • データの操作
    • データの書式設定
    • 列の派生
    • データのフラット化
    • データの並べ替え
    • データのフィルタリング
  4. セルフホステッド統合ランタイム (IR) により、Data Factory でアクティビティの実行とディスパッチのために使用される環境が提供されます。

  5. Azure Data Lake Storage Gen2 と Azure Blob Storage により、データのステージングのための場所が提供されます。 このステップは、複数のソースからデータを変換およびマージするために必要になることがあります。

  6. 次にデータの準備が行われます。 Data Factory により、Azure Databricks、カスタム アクティビティ、パイプライン データ フローを使用して、すばやく効率的にデータが変換されます。

  7. Data Factory により、リレーショナルおよび非リレーショナルの Azure データベースにデータが読み込まれます。

    • Azure SQL
    • Azure Database for PostgreSQL
    • Azure Cosmos DB
    • Azure Data Lake Storage
    • Azure Database for MariaDB
    • Azure Database for MySQL

    特定のユース ケースでは、他のツールでデータを読み込むこともできます。

  8. 他のツールで、データのレプリケートと変換を行うこともできます。

    • 分散型リレーショナル データベース アーキテクチャ (DRDA) 用 Microsoft サービス: Azure SQL データベース ファミリにこれらの DRDA サービスを接続し、オンプレミスのデータベースを最新の状態に維持できます。 これらのサービスは、オンプレミスの仮想マシン (VM) または Azure VM 上で実行されます。
    • SQL Server Migration Assistant (SSMA) for DB2: IBM DB2 データベースから Azure データベースにスキーマとデータを移行するには、このツールを使用します。
    • SQL Server Integration Services (SSIS): このプラットフォームを使用すると、データの抽出、変換、読み込みを行うことができます。
    • サード パーティ製のツール: ソリューションでほぼリアルタイムのレプリケーションが必要な場合は、サード パーティ製のツールを使用できます。 これらのエージェントの一部は、Azure Marketplace で入手できます。
  9. Azure Synapse Analytics を使用して、データを管理し、ビジネス インテリジェンスおよび機械学習アプリケーションで使用できるようにします。

Components

このソリューションでは、次のコンポーネントを使用します。

ツール

  • DRDA 用 Microsoft サービスは、Host Integration Server (HIS) のコンポーネントです。 DRDA 用 Microsoft サービスは、DRDA アプリケーション リクエスター (AR) クライアントによって使用されるアプリケーション サーバー (AS) です。 IBM DB2 for z/OS や DB2 for i5/OS は DRDA AR クライアントの例です。 これらのクライアントにより、AS を使用して DB2 SQL ステートメントが変換され、SQL Server 上で実行されます。

  • SSMA for DB2 は、DB2 から Microsoft データベース サービスへの移行を自動化します。 VM でこのツールを実行すると、DB2 データベース オブジェクトが SQL Server データベース オブジェクトに変換され、SQL Server にそれらのオブジェクトが作成されます。 SSMA for DB2 は、DB2 から次のサービスにデータを移行します。

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • Windows および Linux 上の SQL Server 2017
    • Windows および Linux 上の SQL Server 2019
    • Azure SQL データベース
  • Azure Synapse Analytics は、データ ウェアハウスおよびビッグ データ システム用の分析サービスです。 Spark テクノロジを使用するこのツールは、Power BI、Azure Machine Learning、その他の Azure サービスと緊密に統合されています。

データ インテグレーター

  • Azure Data Factory は、ハイブリッド データ統合サービスです。 このフルマネージドのサーバーレス ソリューションを使用して、ETL と ELT ワークフローの作成、スケジュール設定、調整を行うことができます。

  • Azure Synapse Analytics は、データ ウェアハウスやビッグ データ システム全体にわたって分析情報を取得する時間を早めるエンタープライズ分析サービスです。 Azure Synapse は、エンタープライズ データ ウェアハウスで使用される SQL テクノロジ、ビッグ データに使用される Spark テクノロジ、ログおよび時系列分析のための Data Explorer、データ統合と ETL および ELT のための Pipelines、Power BI、Azure Cosmos DB、Azure Machine Learning などの他の Azure サービスとの緊密な統合の長所を組み合わせたものです。

  • SQL Server Integration Services (SSIS) は、エンタープライズ レベルのデータ統合およびデータ変換ソリューションを構築するためのプラットフォームです。 SSIS を使用して、データの管理、レプリケート、クレンジング、マイニングを行うことができます。

  • Azure Databricks はデータ分析プラットフォームです。 Apache Spark のオープンソース分散処理システムに基づく Azure Databricks は、Azure クラウドプラットフォーム用に最適化されています。 分析ワークフローでは、Azure Databricks によって複数のソースからデータが読み取られ、Spark を使用して分析情報が提供されます。

データ ストレージ

  • Azure SQL Database は、Azure SQL ファミリの一部であり、クラウド向けに構築されています。 このサービスは、フル マネージドで常に最新のサービスとしてのプラットフォームが持つすべての利点を備えています。 SQL Database は、パフォーマンスと持続性を最適化する、AI を活用した自動機能も備えています。 サーバーレス コンピューティングとハイパースケール ストレージ オプションにより、リソースが必要に応じて自動的にスケーリングされます。

  • SQL Managed Instance は、Azure SQL サービス ポートフォリオに含まれています。 このインテリジェントでスケーラブルなクラウド データベース サービスは、幅広い SQL Server エンジンとの互換性と、フル マネージドの常に最新のサービスとしてのプラットフォームのすべての利点を兼ね備えています。 SQL Managed Instance を使用すると、既存のアプリを大規模に最新化できます。

  • Azure VM 上の SQL Server により、100% のコード互換性で SQL Server ワークロードをクラウドにリフト アンド シフトする手段が提供されます。 Azure SQL ファミリの一部である Azure VM 上の SQL Server からは、SQL Server のパフォーマンス、セキュリティ、分析と、Azure の柔軟性とハイブリッド接続の両方が提供されます。 Azure VM 上の SQL Server を使用すると、既存のアプリを移行したり、新しいアプリを構築したりすることができます。 また、SQL Server 2019 など、SQL Server の最新の更新プログラムとリリースにアクセスすることもできます。

  • Azure Database for PostgreSQL は、オープンソースの PostgreSQL データベース エンジンのコミュニティ エディションに基づくフル マネージド リレーショナル データベース サービスです。 このサービスを使用すると、データベース管理ではなくアプリケーションのイノベーションに集中できます。 ワークロードをすばやく簡単にスケーリングすることもできます。

  • Azure Cosmos DB は、グローバル分散型のマルチモデル データベースです。 Azure Cosmos DB では、任意の数のリージョンにまたがって、ソリューションのスループットとストレージを弾力的かつ個別にスケーリングできます。 このフルマネージドの NoSQL データベース サービスでは、世界中のどこにいても、99% の確率で数ミリ秒以内の待機時間が保証されます。

  • Data Lake Storage は、大量のデータを未加工のネイティブ形式で保持するストレージ リポジトリです。 データ レイク ストアは、テラバイト級およびペタバイト級のデータにスケーリングできるように最適化されています。 通常、データは、構造化データ、半構造化データ、または非構造化データを含む複数の異種ソースから取得されます。 Data Lake Storage Gen2 は、Azure Data Lake Storage Gen1 の機能と Blob Storage が結合されたものです。 この次世代データ レイク ソリューションからは、ファイル システムのセマンティクス、ファイルレベルのセキュリティ、およびスケールが提供されます。 その一方で、Blob Storage の階層型ストレージ、高可用性、ディザスター リカバリーの機能も提供されます。

  • Azure Database for MariaDB は、クラウドベースのリレーショナル データベース サービスです。 このサービスは、MariaDB コミュニティ エディション データベース エンジンに基づいています。

  • Azure Database for MySQL は、オープンソースの MySQL データベース エンジンのコミュニティ エディションに基づくフル マネージド リレーショナル データベース サービスです。

  • Blob Storage には、大量の非構造化データを管理する最適化されたクラウド オブジェクト ストレージが用意されています。

ネットワーキング

  • オンプレミス データ ゲートウェイは、オンプレミス データをクラウド サービスに接続するブリッジとして機能します。 通常、このゲートウェイは専用のオンプレミス VM にインストールします。 これにより、クラウド サービスでオンプレミス データを安全に使用できます。

  • IR はコンピューティング インフラストラクチャであり、さまざまなネットワーク環境間でデータを統合するために Data Factory によって使用されます。 クラウド データ ストアとオンプレミス ネットワークのデータ ストアの間でデータをコピーするため、Data Factory でセルフホステッド IR が使用されます。 Azure Synapse Pipelines使用することもできます。

シナリオの詳細

データの可用性と整合性は、メインフレームとミッドレンジの最新化において重要な役割を果たします。 データ優先戦略は、Azure への移行中にデータの完全性と可用性を維持するのに役立ちます。 最新化の過程でアプリケーションが影響を受けないようにするには、データをすばやくレプリケートするか、オンプレミスのデータと Azure データベースを同期させることが、必要になる場合があります。

具体的には、次のものがこのソリューションの対象になります。

  • 抽出: ソース データベースへの接続とそこからの抽出。
  • 変換:
    • ステージング: 元の形式でのデータの一時的な格納と、変換のための準備。
    • 準備: ターゲット データベースの要件を満たすマッピング規則を使用した、データの変換と操作。
  • 読み込み: ターゲット データベースへのデータの挿入。

考えられるユース ケース

このソリューションによってメリットのあるデータ レプリケーションと同期のシナリオは次のとおりです。

  • Azure を使用してすべての問い合わせチャネルを処理するコマンド クエリ責務分離 (CQRS) アーキテクチャ。
  • オンプレミスのアプリケーションと再ホストまたは再設計されるアプリケーションを並行してテストする環境。
  • 段階的な修復や最新化が必要な密接に結合されたアプリケーションが含まれるオンプレミス システム。

推奨事項

Data Factory を使用してデータを抽出する場合は、コピー アクティビティのパフォーマンスを調整するための手順を実行します。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

このアーキテクチャを検討するときは、以下の点に留意してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

  • 可用性を含むインフラストラクチャ管理は、Azure のデータベースで自動化されています。

  • DRDA 用 Microsoft サービスによって提供されるフェールオーバー保護については、「プーリングとフェールオーバー」を参照してください。

  • オンプレミスのデータゲートウェイと IR をクラスター化して、高可用性を保証できます。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

  • ネットワーク セキュリティ グループを使用して、サービスのアクセスを機能に必要なものだけに制限します。

  • PaaS (サービスとしてのプラットフォーム) サービスにプライベート エンドポイント を使用します。 サービス ファイアウォールを使用して、インターネット経由で到達可能なサービスと到達不能なサービスのセキュリティを補完します。

  • オンプレミスのクライアント ID と Azure のクライアント ID の違いに注意してください。 違いを補正する必要があります。

  • コンポーネント間のデータ フローにはマネージド ID を使用します。

  • DRDA 用 Microsoft サービスでサポートされるクライアント接続の種類については、「DRDA 用 Microsoft サービスを使用したソリューションの計画と設計」を参照してください。 クライアント接続は、ネットワーク上のトランザクション、プール、フェールオーバー、認証、暗号化の性質に影響します。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

  • 価格モデルは、コンポーネント サービスによって異なります。 利用可能なコンポーネント サービスの価格モデルを確認して、価格モデルが予算に合っていることを確認します。

  • このソリューションの実装コストを見積もるには、Azure 料金計算ツールを使用します。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。

  • スケーラビリティを含むインフラストラクチャ管理は、Azure のデータベースで自動化されています。

  • アクティブ - アクティブ モードで論理インスタンスをオンプレミスの複数のマシンに関連付けることにより、セルフホステッド IR をスケールアウトすることができます。

  • スケーラビリティのため、オンプレミスのデータ ゲートウェイと IR をクラスター化することができます。

パフォーマンス効率

パフォーマンス効率とは、ユーザーによって行われた要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の柱の概要」を参照してください。

次のステップ