Bearbeiten

Replizieren und Synchronisieren von Mainframedaten in Azure

Azure Data Factory
Azure Databricks

Diese Referenzarchitektur stellt einen Entwurf eines Implementierungsplans für das Replizieren und Synchronisieren von Daten während der Modernisierung in Azure dar. Außerdem werden technische Aspekte wie Datenspeicher, Tools und Dienste erläutert.

Aufbau

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

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

Mainframe- und Midrangesysteme aktualisieren lokale Anwendungsdatenbanken regelmäßig. Damit die Konsistenz gewährleistet ist, synchronisiert die Lösung die aktuellen Daten mit Azure-Datenbanken. Der Synchronisierungsprozess beinhaltet die folgenden Schritte:

  1. Diese Aktionen treten während des gesamten Prozesses auf:

    1. Ein lokales Datengateway überträgt Daten schnell und sicher zwischen lokalen Systemen und Azure-Diensten. Über diese Konfiguration kann das lokale Datengateway Anweisungen von Azure empfangen und Daten replizieren, ohne dass das lokale Netzwerk dafür direkt für die lokalen Datenressourcen verfügbar gemacht werden muss.
    2. Azure Data Factory-Pipelines orchestrieren Aktivitäten, die von der Datenextraktion bis zum Datenladen reichen. Sie können Pipelineaktivitäten planen, sie manuell starten oder automatisch auslösen.
  2. Lokale Datenbanken wie Db2 zOS, Db2 for i, und Db2 LUW speichern die Daten.

  3. Pipelines gruppieren die Aktivitäten, die Aufgaben durchführen. Data Factory erstellt dynamisch eine Pipeline pro lokaler Tabelle, um Daten zu extrahieren. Sie können dann per hochgradig paralleler Implementierung Daten in Azure replizieren. Sie können die Lösung aber auch so konfigurieren, dass sie Ihren Anforderungen entspricht:

    • Vollständige Replikation: Sie replizieren die gesamte Datenbank. Dies erfordert Änderungen an den Datentypen und Feldern in der Azure-Zieldatenbank.
    • Partielle Replikation, Deltareplikation oder inkrementelle Replikation: Sie können Wasserzeichenspalten in Quelltabellen verwenden, um aktualisierte Datensätze mit Azure-Datenbanken zu synchronisieren. Diese Spalten beinhalten entweder einen Schlüssel, der fortlaufend inkrementiert wird, oder einen Zeitstempel, der auf die letzte Aktualisierung der Tabelle hinweist.

    Data Factory verwendet außerdem Pipelines für die folgenden Transformationsaufgaben:

    • Datentypkonvertierung
    • Datenmanipulation
    • Datenformatierung
    • Spaltenableitung
    • Datenvereinfachung
    • Datensortierung
    • Datenfilterung
  4. Eine selbstgehostete Integration Runtime (IR) bietet die Umgebung, die Data Factory verwendet, um Aktivitäten auszuführen und zu verteilen.

  5. Azure Data Lake Storage Gen2 und Azure Blob Storage können für das Datenstaging verwendet werden. Dieser Schritt ist manchmal erforderlich, um Daten aus mehreren Quellen zu transformieren und zusammenzuführen.

  6. Als Nächstes findet die Datenaufbereitung statt. Data Factory verwendet Azure Databricks, benutzerdefinierte Aktivitäten und Datenflüsse in Pipelines, um Daten schnell und effektiv zu transformieren.

  7. Data Factory lädt Daten in relationale und nicht relationale Azure-Datenbanken:

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

    In bestimmten Anwendungsfällen können auch andere Tools für das Laden der Daten verwendet werden.

  8. Andere Tools können die Daten ebenfalls replizieren und transformieren:

    • Microsoft-Dienst für die verteilte Architektur relationaler Datenbanken (Distributed Relational Database Architecture, DRDA): Diese DRDA-Dienste können eine Verbindung zur Azure SQL-Datenbankfamilie herstellen und dafür sorgen, dass die lokalen Datenbanken aktuell bleiben. Diese Dienste können auf einer lokalen VM oder einer Azure-VM ausgeführt werden.
    • SQL Server Migration Assistant (SSMA) für Db2: Dieses Tool migriert Schemas und Daten von IBM Db2-Datenbanken in Azure-Datenbanken.
    • SQL Server Integration Services (SSIS): Diese Plattform kann Daten extrahieren, transformieren und laden.
    • Drittanbietertools: Wenn die Lösung Replikation in Quasi-Echtzeit benötigt, können Sie Drittanbietertools verwenden. Einige dieser Agents sind im Azure Marketplace verfügbar.
  9. Azure Synapse Analytics verwaltet die Daten und macht sie für Business-Intelligence- und Machine-Learning-Anwendungen verfügbar.

Komponenten

Diese Lösung verwendet die folgenden Komponenten:

Tools

  • Der Microsoft-Dienst für DRDA ist eine Komponente von Host Integration Server (HIS). Beim Microsoft-Dienst für DRDA handelt es sich um einen Anwendungsserver (Application Server, AS), den DRDA-Anwendungsanforderungsclients (Application Requester, AR) nutzen. Beispiele für DRDA-AR-Clients sind IBM Db2 for z/OS und Db2 for i5/OS. Diese Clients verwenden den AS, um Db2-SQL-Anweisungen zu konvertieren und in einer SQL Server-Instanz auszuführen.

  • SSMA for Db2 automatisiert die Migration von Db2 zu Datenbankdiensten von Microsoft. Während der Ausführung auf einer VM konvertiert dieses Tool Db2-Datenbankobjekte in SQL Server-Datenbankobjekte und erstellt diese Objekte in SQL Server. SSMA for Db2 migriert anschließend Daten von Db2 zu den folgenden Diensten:

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • SQL Server 2017 unter Windows und Linux
    • SQL Server 2019 unter Windows und Linux
    • Azure SQL-Datenbank
  • Azure Synapse Analytics ist ein Analysedienst für Data Warehouses und Big-Data-Systeme. Dieses Tool verwendet Spark-Technologie und weist eine tiefgreifende Integration mit Power BI, Azure Machine Learning und anderen Azure-Diensten auf.

Datenintegratoren

  • Azure Data Factory ist ein hybrider Datenintegrationsdienst. Sie können diese vollständig verwaltete, serverlose Lösung zum Erstellen, Planen und Orchestrieren von ETL- und ELT-Workflows verwenden.

  • Azure Synapse Analytics ist ein Unternehmensanalysedienst zur schnelleren Gewinnung von Erkenntnissen aus Data Warehouse-Datenbanken und Big Data-Systemen. In Azure Synapse ist die jeweils beste Technologie aus unterschiedlichen Bereichen vereint: SQL-Technologie für Data Warehousing in Unternehmen, Spark-Technologie für Big Data-Zwecke, Daten-Explorer für die Analyse von Protokollen und Zeitreihen, Pipelines für die Datenintegration und ETL/ELT sowie eine tiefe Integration in andere Azure-Dienste, z. B. Power BI, Azure Cosmos DB und Azure Machine Learning.

  • SQL Server Integration Services (SSIS) ist eine Plattform für das Erstellen von Datenintegrations- und Datentransformationslösungen für Unternehmen. Sie können SSIS verwenden, um Daten zu verwalten, zu replizieren, zu bereinigen und Data Mining durchzuführen.

  • Azure Databricks ist eine Datenanalyseplattform. Azure Databricks basiert auf dem verteilten Open-Source-Verarbeitungssystem von Apache Spark und ist für die Azure-Dienste optimiert. In einem Analyseworkflow liest Azure Databricks Daten aus mehreren Quellen und verwendet Spark, um Erkenntnisse abzuleiten.

Datenspeicher

  • Azure SQL-Datenbank ist Teil der Azure SQL-Familie und wurde für die Cloud entwickelt. Dieser Dienst bietet alle Vorteile einer vollständig verwalteten und stets aktuellen Platform-as-a-Service-Lösung (PaaS). SQL-Datenbank bietet außerdem KI-gestützte, automatisierte Features, die Leistung und Dauerhaftigkeit optimieren. Serverloses Computing und Hyperscale-Speicheroptionen skalieren Ressourcen bei Bedarf automatisch.

  • SQL Managed Instance ist Teil des Azure SQL-Dienstportfolios. Dieser intelligente, skalierbare, cloudbasierte Datenbankdienst kombiniert die breiteste Kompatibilität mit der SQL Server-Engine mit allen Vorzügen einer vollständig verwalteten und stets aktuellen Platform-as-a-Service-Lösung. Mithilfe von SQL Managed Instance können Sie vorhandene Apps skaliert modernisieren.

  • SQL Server auf Azure-VMs bietet eine Möglichkeit der Migration per Lift & Shift für SQL Server-Workloads in die Cloud. Profitieren Sie dabei von einer hundertprozentigen Codekompatibilität. Als Teil der Azure SQL-Familie bietet SQL Server auf Azure-VMs die kombinierte Leistung, Sicherheit und Analysefunktionen von SQL Server mit der Flexibilität und Hybridkonnektivität von Azure. Mithilfe von SQL Server auf Azure-VMs können Sie vorhandene Apps migrieren oder neue Apps erstellen. Sie können auch auf aktuelle SQL Server-Updates und -Releases zugreifen, einschließlich SQL Server 2019.

  • Azure Database for PostgreSQL ist ein vollständig verwalteter relationaler Datenbankdienst, der auf der PostgreSQL-Datenbank-Engine (Community Edition) basiert. Mit diesem Dienst können Sie den Fokus auf Anwendungsinnovation anstatt auf die Datenbankverwaltung legen. Sie können Ihre Workload auch schnell und einfach skalieren.

  • Azure Cosmos DB ist eine global verteilte Multimodelldatenbank. Mit Azure Cosmos DB können Sie Durchsatz und Speicher für Ihre Lösungen elastisch und unabhängig voneinander über eine beliebige Anzahl von geografischen Regionen skalieren. Dieser vollständig verwaltete NoSQL-Datenbankdienst sorgt überall auf der Welt für Latenzen im einstelligen Millisekundenbereich im 99. Perzentil.

  • Data Lake Storage ist ein Repository zur Speicherung großer Datenmengen in ihrem nativen Rohformat. Data Lake-Speicher sind für die Skalierung auf Terabytes und Petabytes von Daten optimiert. Die Daten stammen in der Regel aus mehreren heterogenen Quellen und können strukturiert, teilweise strukturiert oder unstrukturiert sein. Data Lake Storage Gen2 vereint die Funktionen von Azure Blob Storage und Azure Data Lake Storage Gen1. Diese Data-Lake-Lösung der nächsten Generation bietet Dateisystemsemantik, Sicherheit auf Dateiebene und Skalierung. Dies wird ergänzt durch den mehrstufigen Speicher, die Hochverfügbarkeit und die Notfallwiederherstellung von Azure Blob Storage.

  • Azure Database for MariaDB ist ein cloudbasierter relationaler Datenbankdienst. Dieser Dienst basiert auf der MariaDB-Datenbank-Engine (Community Edition).

  • Azure Database for MySQL ist ein vollständig verwalteter relationaler Datenbankdienst, der auf der Open-Source-MySQL-Datenbank-Engine (Community Edition) basiert.

  • Blob Storage bietet einen optimierten Cloudobjektspeicher, der große Mengen nicht strukturierter Daten verwaltet.

Netzwerk

Szenariodetails

Datenverfügbarkeit und Datenintegrität spielen eine wichtige Rolle bei der Mainframe- und Midrangemodernisierung. Strategien, bei denen die Daten an erster Stelle stehen, unterstützen Sie dabei, für die Integrität und Verfügbarkeit Ihrer Daten während der Migration zu Azure zu sorgen. Damit die Auswirkungen auf Anwendungen während der Modernisierung minimiert werden, müssen Sie Daten gelegentlich schnell replizieren oder für die Synchronität lokaler Daten mit Azure-Datenbanken sorgen.

Konkret deckt diese Lösung Folgendes ab:

  • Extraktion: Hierbei wird eine Verbindung zur Quelldatenbank hergestellt, und Daten werden daraus extrahiert.
  • Transformation:
    • Staging: Hierbei werden Daten temporär in ihrem ursprünglichen Format gespeichert und für die Transformation aufbereitet.
    • Aufbereitung: Hierbei werden Daten transformiert und bearbeitet, indem Zuordnungsregeln verwendet werden, die Anforderungen der Zieldatenbank erfüllen.
  • Laden: Hierbei werden Daten in eine Zieldatenbank eingefügt.

Mögliche Anwendungsfälle

Unten sehen Sie Szenarios für Datenreplikation und Datensynchronisierung, die von dieser Lösung profitieren können:

  • CQRS-Architekturen (Command and Query Responsibility Segregation), die Azure für alle Abfragekanäle verwenden
  • Umgebungen, die lokale Anwendungen und erneut gehostete oder erneut entwickelte Anwendungen parallel testen
  • Lokale Systeme mit eng verzahnten Anwendungen, die eine Wartung oder Modernisierung in Stufen erfordern

Empfehlungen

Wenn Sie Data Factory zum Extrahieren von Daten verwenden, sollten Sie Schritte durchführen, um die Leistung der Kopieraktivität zu optimieren.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Berücksichtigen Sie diese Aspekte, wenn Sie Überlegungen zur Architektur anstellen.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

  • Die Infrastrukturverwaltung einschließlich der Verfügbarkeit ist in Azure-Datenbanken automatisiert.

  • Unter Poolerstellung und Failover finden Sie weitere Informationen zum Failoverschutz, den der Microsoft-Dienst für DRDA bietet.

  • Sie können für das lokale Datengateway und die IR ein Cluster bilden, um von einer höheren Verfügbarkeit profitieren zu können.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

  • Verwenden Sie Netzwerksicherheitsgruppen, um den Zugriff auf Dienste auf das zu beschränken, was sie zum Funktionieren benötigen.

  • Verwenden Sie private Endpunkte für Ihre PaaS (Platform as a Service)-Dienste. Verwenden Sie Dienstfirewalls, um die Sicherheit für Ihre Dienste, die sowohl über das Internet erreichbar als auch nicht erreichbar sind, zu ergänzen.

  • Beachten Sie die Unterschiede zwischen lokalen Clientidentitäten und Clientidentitäten in Azure. Sie müssen etwaige Unterschiede ausgleichen.

  • Verwenden Sie verwaltete Identitäten für Komponenten-zu-Komponenten-Datenflüsse.

  • Unter Planung und Architektur von Lösungen mit dem Microsoft-Dienst für DRDA finden Sie Informationen zu den vom Microsoft-Dienst für DRDA unterstützten Arten von Clientverbindungen. Clientverbindungen wirken sich auf die Art von Transaktionen, Pooling, Failover, Authentifizierung und Verschlüsselung in Ihrem Netzwerk aus.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

  • Preismodelle variieren zwischen den Komponentendiensten. Überprüfen Sie die Preismodelle der verfügbaren Komponentendienste, um sicherzustellen, dass die Preismodelle Ihrem Budget entsprechen.

  • Verwenden Sie den Azure-Preisrechner, um die Kosten für die Implementierung dieser Lösung abschätzen zu können.

Erstklassige Betriebsprozesse

Die Säule „Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Übersicht über die Säule „Optimaler Betrieb“.

  • Die Infrastrukturverwaltung einschließlich der Skalierbarkeit ist in Azure-Datenbanken automatisiert.

  • Sie können die selbstgehostete IR aufskalieren, indem Sie die logische Instanz mehreren lokalen Computern im Aktiv/Aktiv-Modus zuordnen.

  • Für eine bessere Skalierbarkeit können Sie für das lokale Datengateway und die IR ein Cluster bilden.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

Nächste Schritte