このアーキテクチャ例では、Azure への最新化中にデータをレプリケートおよび同期するための実装計画を概説しています。 データ ストア、ツール、サービスなどの技術的な側面について説明します。
Architecture
このアーキテクチャの Visio ファイルをダウンロードします。
ワークフロー
メインフレームとミッドレンジのシステムにより、オンプレミスのアプリケーション データベースが一定の間隔で更新されます。 整合性を維持するため、ソリューションによって最新のデータが Azure データベースと同期されます。 同期プロセスには以下の手順が含まれます。
Azure Data Factory の動的なパイプラインにより、データ抽出からデータ読み込みまでの範囲のアクティビティが調整されます。 パイプラインのアクティビティをスケジュールしたり、手動で開始したり、自動的にトリガーしたりできます。
パイプラインを使用して、タスクを実行するアクティビティがグループ化されます。 データを抽出するため、Data Factory によってオンプレミスのテーブルごとに 1 つのパイプラインが動的に作成されます。 その後、Azure でデータをレプリケートするときに、超並列実装を使用できます。 要件を満たすようにソリューションを構成することもできます。
- 完全なレプリケーション: データベース全体をレプリケートし、ターゲットの Azure データベースのデータ型とフィールドに必要な変更を行います。
- 部分、差分、または増分レプリケーション: ソース テーブルの基準値列を使用して、更新された行を Azure データベースと同期します。 これらの列には、連続してインクリメントされるキーか、テーブルの最終更新を示すタイムスタンプが含まれます。
Data Factory のパイプラインは、次の変換タスクにも使用されます。
- データ型の変換
- データの操作
- データの書式設定
- 列の派生
- データのフラット化
- データの並べ替え
- データのフィルタリング
Db2 zOS、Db2 for i、Db2 LUW などのオンプレミスのデータベースにアプリケーション データが格納されます。
セルフホステッド統合ランタイム (SHIR) により、Data Factory でアクティビティの実行とディスパッチのために使用される環境が提供されます。
Azure Data Lake Storage Gen2 と Azure Blob Storage により、データのステージングのための場所が提供されます。 このステップは、複数のソースからデータを変換およびマージするために必要になることがあります。
データの準備のために、Data Factory により、Azure Databricks、カスタム アクティビティ、パイプライン データ フローを使用して、すばやく効率的にデータが変換されます。
Data Factory により、次のリレーショナルおよび非リレーショナルの Azure データベースにデータが読み込まれます。
- Azure SQL
- Azure Database for PostgreSQL
- Azure Cosmos DB
- Azure Data Lake Storage
- Azure Database for MySQL
SQL Server Integration Services (SSIS): このプラットフォームを使用すると、データの抽出、変換、読み込みを行うことができます。
Microsoft 以外のツール: ソリューションでほぼリアルタイムのレプリケーションが必要な場合は、Microsoft 以外のツールを使用できます。
コンポーネント
このセクションでは、データの最新化、同期、統合中に使用できるその他のツールについて説明します。
ツール
Microsoft Service for Distributed Relational Database Architecture (DRDA) は Host Integration Server (HIS) のコンポーネントです。 DRDA 用 Microsoft サービスは、DRDA アプリケーション リクエスター (AR) クライアントによって使用されるアプリケーション サーバーです。 IBM DB2 for z/OS や DB2 for i5/OS は DRDA AR クライアントの例です。 これらのクライアントにより、アプリケーション サーバーを使用して DB2 SQL ステートメントが変換され、SQL Server 上で実行されます。
SQL Server Migration Assistant (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 サービスと緊密に統合されています。
データ インテグレーター
Data Factory は、ハイブリッド データ統合サービスです。 このフル マネージドのサーバーレス ソリューションを使用して、ETL (抽出、変換、読み込み) と ELT (抽出、読み込み、変換) のワークフローの作成、スケジュール設定、調整を行うことができます。
Azure Synapse Analytics は、データ ウェアハウスやビッグ データ システム全体にわたって分析情報を取得する時間を早めるエンタープライズ分析サービスです。 Azure Synapse Analytics は次のテクノロジとサービスの長所を兼ね備えています。
- エンタープライズ データ ウェアハウスで使用される SQL テクノロジ。
- ビッグ データに使用される Spark テクノロジ。
- ログおよび時系列分析に使用される Azure Data Explorer。
- データ統合、ETL、および ELT ワークフローに使用される Azure Pipelines。
- Power BI、Azure Cosmos DB、Machine Learning などの他の Azure サービスとの緊密な統合機能。
SSIS は、エンタープライズ レベルのデータ統合および変換ソリューションを構築するためのプラットフォームです。 SSIS を使用して、データの管理、レプリケート、クレンジング、マイニングを行うことができます。
Azure Databricks はデータ分析プラットフォームです。 Apache Spark オープンソース分散処理システムに基づいており、Azure クラウド プラットフォーム向けに最適化されています。 分析ワークフローでは、Azure Databricks によって複数のソースからデータが読み取られ、Spark を使用して分析情報が提供されます。
データ ストレージ
SQL Database は Azure SQL ファミリの一部であり、クラウド向けに構築されています。 このサービスは、フル マネージドで常に最新のサービスとしてのプラットフォーム (PaaS) の利点を備えています。 SQL Database は、パフォーマンスと持続性を最適化する、AI を活用した自動機能も備えています。 サーバーレス コンピューティングとハイパースケール ストレージ オプションにより、リソースが必要に応じて自動的にスケーリングされます。
Azure SQL Managed Instance は、Azure SQL サービス ポートフォリオに含まれています。 このインテリジェントでスケーラブルなクラウド データベース サービスは、幅広い SQL Server エンジンとの互換性と、フル マネージドの常に最新の PaaS のすべての利点を兼ね備えています。 SQL Managed Instance を使用すると、既存のアプリを大規模に最新化できます。
Azure Virtual Machines 上の SQL Server により、100% のコード互換性で SQL Server ワークロードをクラウドにリフト アンド シフトする手段が提供されます。 Azure SQL ファミリの一部である SQL Server on Azure Virtual Machines は、SQL Server のパフォーマンス、セキュリティ、分析機能と、Azure の柔軟性およびハイブリッド接続性を兼ね備えています。 SQL Server on Azure Virtual Machines を使用して、既存のアプリを移行したり、新しいアプリを構築したりできます。 また、SQL Server 2019 など、SQL Server の最新の更新プログラムとリリースにアクセスすることもできます。
Azure Database for PostgreSQL は、オープンソースの PostgreSQL データベース エンジンのコミュニティ エディションに基づくフル マネージド リレーショナル データベース サービスです。 このサービスを使用して、データベースの管理ではなくアプリケーションのイノベーションに集中できます。 ワークロードをすばやく簡単にスケーリングすることもできます。
Azure Cosmos DB は、グローバル分散型のマルチモデル データベースです。 Azure Cosmos DB を使用して、任意の数のリージョンにまたがって、ソリューションのスループットとストレージを弾力的かつ個別にスケーリングできます。 このフルマネージドの NoSQL データベース サービスでは、世界中のどこでも、要求の 99% に対して 10 ミリ秒未満の待機時間が担保されます。
Data Lake Storage は、大量のデータを未加工のネイティブ形式で保持するストレージ リポジトリです。 データ レイク ストアは、テラバイト級およびペタバイト級のデータにスケーリングできるように最適化されています。 通常、データは、構造化データ、半構造化データ、または非構造化データを含む複数の異種ソースから取得されます。 Data Lake Storage Gen2 は、Azure Data Lake Storage Gen1 の機能と Blob Storage が結合されたものです。 この次世代データ レイク ソリューションからは、ファイル システムのセマンティクス、ファイルレベルのセキュリティ、およびスケールが提供されます。 また、Blob Storage の階層型ストレージ、高可用性、ディザスター リカバリーの機能も提供されます。
Azure Database for MySQL は、オープンソースの MySQL データベース エンジンのコミュニティ エディションに基づくフル マネージド リレーショナル データベース サービスです。
Blob Storage には、大量の非構造化データを管理する最適化されたクラウド オブジェクト ストレージが用意されています。
シナリオの詳細
データの可用性と整合性はメインフレームとミッドレンジの最新化に不可欠です。 データ優先戦略は、Azure への移行中にデータの完全性と可用性を維持するのに役立ちます。 最新化中に処理が中断されないようにするには、データをすばやくレプリケートするか、オンプレミスのデータと Azure データベースを同期させることが、必要になる場合があります。
具体的には、次のものがこのソリューションの対象になります。
- 抽出: ソース データベースへの接続とそこからの抽出。
- 変換:
- ステージング: 元の形式でのデータの一時的な格納と、変換のための準備。
- 準備: ターゲット データベースの要件を満たすマッピング規則を使用した、データの変換と操作。
- 読み込み: ターゲット データベースへのデータの挿入。
考えられるユース ケース
このソリューションによってメリットのあるデータ レプリケーションと同期のシナリオは次のとおりです。
- Azure を使用してすべての問い合わせチャネルを処理するコマンド クエリ責務分離 (CQRS) アーキテクチャ。
- オンプレミスのアプリケーションと再ホストまたは再設計されるアプリケーションを並行してテストする環境。
- 段階的な修復や最新化が必要な密接に結合されたアプリケーションが含まれるオンプレミス システム。
推奨事項
Data Factory を使用してデータを抽出する場合は、コピー アクティビティのパフォーマンスを調整するための手順を実行します。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
このアーキテクチャを検討するときは、次の点に留意してください。
[信頼性]
信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。
可用性を含むインフラストラクチャ管理は、Azure のデータベースで自動化されています。
DRDA 用 Microsoft サービスのフェールオーバー保護については、「プーリングとフェールオーバー」を参照してください。
オンプレミス データ ゲートウェイと Integration Runtime (IR) をクラスター化して、高可用性を担保できます。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
ネットワーク セキュリティ グループを使用して、各サービスの機能に必要なアクセスのみを許可するように制限します。
PaaS サービスには、プライベート エンドポイントを使用します。 サービスのセキュリティの補完には、インターネットからの接続を選択的に制御するサービス ファイアウォールを使用します。
コンポーネント間のデータ フローにはマネージド ID を使用します。
DRDA 用 Microsoft サービスでサポートされるクライアント接続の種類については、「DRDA 用 Microsoft サービスを使用したソリューションの計画と設計」を参照してください。 クライアント接続は、ネットワーク上のトランザクション、プール、フェールオーバー、認証、暗号化の性質に影響します。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の重要な要素の概要」を参照してください。
価格モデルは、コンポーネント サービスによって異なります。 利用可能なコンポーネント サービスの価格モデルを確認して、それらのモデルが予算に合っていることを確認します。
このソリューションの実装コストを見積もるには、Azure 料金計算ツールを使用します。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。
スケーラビリティを含むインフラストラクチャ管理は、Azure のデータベースで自動化されています。
アクティブ - アクティブ モードで論理インスタンスをオンプレミスの複数のマシンに関連付けることにより、セルフホステッド IR をスケールアウトすることができます。
パフォーマンス効率
パフォーマンス効率とは、ユーザーによって行われた要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の重要な要素の概要」を参照してください。
初期レプリケーションまたは変更されたデータの継続的なレプリケーションのために大きな帯域幅を使用する実装の場合は、高スケールのオプションとして Azure ExpressRoute を検討します。
シナリオに合った適切な IR 構成を選択します。
次のステップ
- 詳細については、Azure データ エンジニアリング - オンプレミスの最新化に問い合わせてください。
- 移行ガイドを確認します。