Modernisierung und Konsolidierung von AWS RDS für MySQL und MongoDB Atlas auf Oracle Autonomous Database
Erfahren Sie, wie ein Kunde eine komplexe Architektur mit mehreren Datenbanken auf Amazon Web Service (AWS) ersetzt hat, die MySQL und MongoDB Atlas mit einer einzigen, konvergierten Autonomous Database verwendet hat.
Die Datenbankmigration wurde mit Oracle Cloud Infrastructure GoldenGate durchgeführt. Oracle Cloud Infrastructure GoldenGate ist ein vollständig verwalteter, nativer Cloud-Service, der Daten in Echtzeit verschiebt und skalierbar ist. Bei der Migration wurde auch ein großer Prozentsatz des Anwendungscodes beibehalten, indem die Oracle Database-API für MongoDB verwendet wurde.
Die auf AWS bereitgestellte Legacy-Architektur war ein komplexer Datenverarbeitungsworkflow, der aus einer verwalteten AWS RDS MySQL Database und MongoDB Atlas bestand, um Datenkonsistenz und -genauigkeit zu gewährleisten und gleichzeitig die Informationen in einem flexiblen JSON-Format für ihre Kunden bereitzustellen.
Das folgende Diagramm veranschaulicht den Legacy-Datenfluss:
aws-rds-oci-adw-flow1-oracle.zip
Mehrere, fragmentierte Systeme wurden miteinander gekoppelt, was die Komplexität des Ladens, der Transformation und der Synchronisierung von Daten erhöhte. Die Legacy-Architektur war nicht nur komplex, sondern auch Ressourcenverschwendung und fehleranfällig. Die Komplexität des Systems:
- Erhöht die Wahrscheinlichkeit von Datenverarbeitungsfehlern, was zu einer geringeren Datenqualität und weniger als 100% Genauigkeit führt
- Erhöhte Bearbeitungszeiten, was zu einer suboptimalen Produktionszeit führt
- Erhöhter Betriebsaufwand, Verschwendung von Zeit und Ressourcen bei Problemlösung und Debugging
Architektur
Die Produktionsdatenbank wird von Amazon RDS für MySQL und MongoDB Atlas in AWS zu Oracle Autonomous Database migriert, das in der Region Oracle Cloud Infrastructure (OCI) US-East (Ashburn) bereitgestellt wird, indem OCI GoldenGate verwendet wird, das in derselben Region und demselben virtuellen Cloud-Netzwerk (VCN) bereitgestellt wird.
Die unidirektionale Replikation zwischen den beiden Clouds wird nur für die Migration verwendet.
Anwendungen werden in AWS US-Ost (Ashburn) bereitgestellt. Nach der Migration wird die Application Tier auch zu einer OCI-Compute-Instanz migriert. Dedizierte Konnektivität wird von Oracle Cloud Infrastructure FastConnect und einem OCI FastConnect-Partner bereitgestellt, um Datenbanken, die in AWS ausgeführt werden, mit OCI GoldenGate zu verbinden. Einen Link zu einer Liste der OCI FastConnect-Partner nach Region finden Sie im Abschnitt "Weitere Informationen".
Die allgemeinen Schritte zur Migration und Konsolidierung lauten wie folgt:
- Bereiten Sie die Datenbanken MySQL und MongoDB mit OCI GoldenGate für die Replikation vor.
- Stellen Sie zwei OCI GoldenGate-Deployments für die Ausführung von Extracts bereit: MySQL-Deployment für die Datenbank MySQL und Big Data-Deployment für MongoDB.
- Erstellen Sie Verbindungen von OCI GoldenGate zu MySQL und MongoDB.
- Erstellen Sie im Oracle-Ziel-Deployment ein OCI GoldenGate-Deployment, um Daten in Oracle Autonomous Database zu replizieren.
- Erstellen Sie eine Verbindung von OCI GoldenGate zu Oracle Autonomous Database.
- Weisen Sie den jeweiligen Deployments Verbindungen zu.
- Erstellen Sie einen anfänglichen Ladeextrakt für Deployments der Versionen MySQL und MongoDB.
- Erstellen Sie Distributionsserviceprozesse, um die Daten aus den Quell-Deployments MySQL und MongoDB an das Oracle-Ziel-Deployment zu senden.
- Erstellen Sie einen Replikationsprozess im Oracle-Ziel-Deployment, um Daten für das erstmalige Laden zu replizieren.
- Erstellen Sie einen Change Data Capture-Extrakt für Deployments der Versionen MySQL und MongoDB.
- Erstellen Sie einen Replicate-Prozess für Change Data Capture im Oracle-Ziel-Deployment, um Daten zu replizieren.
- Replizieren Sie die Anwendung von AWS EC2 auf die OCI-VM.
- Verbinden Sie die Anwendung in OCI mit Oracle Autonomous Database.
- Trennen und Außerbetriebnahme der Anwendungen und Datenbanken auf AWS.
Mit konvergierten Datenbankfunktionen, die relationale und Dokumentenspeicheranforderungen in einer einzigen Datenbank unterstützen, bietet die auf OCI ausgeführte Oracle Autonomous Database die Kernplattform, um die Ziele des Kunden zu erreichen. Mit Oracle Autonomous Database können sie die Rohdaten unverändert in ihrem relationalen Format mit erzwungener Datenintegrität speichern. Daten für die Endbenutzeranwendungen werden im erforderlichen JSON-Format in Millisekunden zurückgegeben. Die Daten sind ohne weitere Verarbeitung über SQL und JSON sowie über die Oracle Database-API für MongoDB verfügbar.
Das folgende Diagramm zeigt die Architektur:
aws-rds-oci-adw-arch-oracle.zip
In dieser Architektur werden OCI GoldenGate und Oracle Autonomous Database in OCI bereitgestellt und erleichtern die unidirektionale Replikation von AWS RDS für MySQL.
Mit OCI GoldenGate können Sie auch Datenreplikations- und Streaminganalyseaufgaben entwerfen, ausführen, orchestrieren und überwachen, ohne Compute-Umgebungen zuweisen oder verwalten zu müssen. OCI GoldenGate ist nicht erforderlich, um die Anwendung und Datenbank nach Abschluss der Migration auszuführen, und kann entfernt werden.
Durch die Konsolidierung der früheren Datenbankarchitektur in einer einzigen Oracle Autonomous Database, die auf OCI ausgeführt wird, ist es nicht mehr erforderlich, eine komplexe Architektur mit mehreren Einzweckdatenbanken und komplexen, synchronisierten ETL-Prozessen (Extrahieren, Transformieren und Laden) zwischen diesen beiden Datenbanken zu betreiben. Außerdem wird die Verarbeitungszeit reduziert, während gleichzeitig die Datenqualität und -genauigkeit erhöht wird.
Das folgende Diagramm veranschaulicht den aktuellen Datenfluss:
aws-rds-oci-adw-flow2-oracle.zip
Der Kunde erhielt folgende unmittelbare geschäftliche Vorteile:
- 15% schnellere Projektproduktionszeit und bessere Qualität für höhere Kundenzufriedenheit
- Erhöhte Anwendungsleistung durch eine einfachere Architektur und Oracle Autonomous Database-Funktionen
- 10% Betriebskosteneinsparungen durch weniger Infrastruktur und reduziertes Anwendungs- und Datenbankmanagement
- Höhere Entwicklerproduktivität, um sich auf Innovationen zu konzentrieren, anstatt Probleme zu beheben
Die Architektur umfasst die folgenden Komponenten:
- Mandant
Ein Mandant ist eine sichere und isolierte Partition, die Oracle in Oracle Cloud einrichtet, wenn Sie sich für Oracle Cloud Infrastructure registrieren. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist gleichbedeutend mit einem Unternehmen oder einer Organisation. Normalerweise verfügt ein Unternehmen über einen einzelnen Mandanten und spiegelt seine Organisationsstruktur in diesem Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
- Availability-Domain
Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Es ist daher unwahrscheinlich, dass der Fehler in einer Availability-Domain sich auf die anderen Availability-Domains in der Region auswirkt.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares, benutzerdefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- Routentabelle
Virtuelle Routentabellen enthalten Regeln zum Weiterleiten von Traffic von Subnetzen zu Zielen außerhalb eines VCN, in der Regel über Gateways.
- Sicherheitsliste
Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der in und aus dem Subnetz zulässig sein muss.
- FastConnect
Mit Oracle Cloud Infrastructure FastConnect können Sie ganz einfach eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure herstellen. FastConnect bietet Optionen mit höherer Bandbreite und ein zuverlässigeres Netzwerk als bei internetbasierten Verbindungen.
- Dynamisches Routinggateway (Dynamic Routing Gateway, DRG)
Das DRG ist ein virtueller Router, der einen Pfad für privaten Netzwerktraffic zwischen VCNs in derselben Region zwischen einem VCN und einem Netzwerk außerhalb der Region bereitstellt, wie ein VCN in einer anderen Oracle Cloud Infrastructure-Region, einem On-Premise-Netzwerk oder einem Netzwerk in einem anderen Cloud-Provider.
- Servicegateway
Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkstruktur und nie das Internet.
- Bastion-Service
Oracle Cloud Infrastructure Bastion bietet eingeschränkten und zeitlich begrenzten sicheren Zugriff auf Ressourcen, die keine öffentlichen Endpunkte haben und strenge Ressourcenzugriffskontrollen erfordern, wie Bare Metal und virtuelle Maschinen, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) und jede andere Ressource, die Secure Shell Protocol-(SSH-)Zugriff ermöglicht. Mit dem Oracle Cloud Infrastructure Bastion-Service können Sie den Zugriff auf private Hosts aktivieren, ohne einen Jump-Host bereitzustellen und zu verwalten. Darüber hinaus erhalten Sie eine verbesserte Sicherheitslage mit identitätsbasierten Berechtigungen und einer zentralisierten, auditierten und zeitgebundenen SSH-Session. Mit Oracle Cloud Infrastructure Bastion ist keine öffentliche IP mehr für den Bastionzugriff erforderlich. Dadurch entfallen der Aufwand und die potenzielle Angriffsfläche beim Remotezugriff.
- Compute
Mit dem Oracle Cloud Infrastructure Compute-Service können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen für CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher entsprechen. Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher darauf zugreifen, sie neu starten, Volumes zuordnen und trennen und sie beenden, wenn Sie sie nicht mehr benötigen.
- Object Storage
Mit dem Objektspeicher können Sie schnell auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps zugreifen, darunter Datenbankbackups, analytische Daten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und geschützt speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne die Performance oder Servicezuverlässigkeit zu beeinträchtigen. Verwenden Sie Standardspeicher für "Hot Storage", auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "Cold Storage", den Sie über lange Zeiträume beibehalten möchten und auf den Sie nur selten zugreifen.
- Identity and Access Management (IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM) ist die Zugriffskontrollebene für Oracle Cloud Infrastructure (OCI) und Oracle Cloud Applications. Mit der IAM-API und der Benutzeroberfläche können Sie Identitätsdomains und die Ressourcen innerhalb der Identitätsdomain verwalten. Jede OCI IAM-Identitätsdomain stellt eine eigenständige Identity and Access Management-Lösung oder eine andere Benutzerpopulation dar.
- LoggingLogging ist ein hoch skalierter und vollständig verwalteter Service, der Zugriff auf die folgenden Logtypen von Ihren Ressourcen in der Cloud ermöglicht:
- Auditlogs: Logs zu Ereignissen, die vom Audit-Service ausgegeben werden.
- Service-Logs: Logs, die von einzelnen Services wie API Gateway, Events, Functions, Load Balancing, Object Storage und VCN-Flowlogs ausgegeben werden.
- Benutzerdefinierte Logs: Logs, die Diagnoseinformationen von benutzerdefinierten Anwendungen, anderen Cloud-Providern oder einer On-Premise-Umgebung enthalten.
- Monitoring
Der Oracle Cloud Infrastructure Monitoring-Service überwacht Ihre Cloud-Ressourcen aktiv und passiv mit Metriken, um Ressourcen und Alarme zu überwachen und Sie zu benachrichtigen, wenn diese Metriken alarmspezifische Trigger erfüllen.
- Cloud Guard
Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitslücken zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine Fehlkonfiguration oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.
- Data Integration
Oracle Cloud Infrastructure GoldenGate ist ein vollständig verwalteter Service, der die Datenaufnahme aus On-Premise- oder Cloud-Quellen ermöglicht. Dabei wird die GoldenGate CDC-Technologie für eine nicht aufdringliche und effiziente Erfassung von Daten und die Bereitstellung an Oracle Autonomous Data Warehouse in Echtzeit und in großem Maßstab genutzt, um Verbrauchern relevante Informationen so schnell wie möglich zur Verfügung zu stellen.
- AWS RDS für MySQL
Relational Database Service (RDS) für MySQL ist ein vollständig verwaltetes MySQL-Angebot von Amazon Web Services (AWS).
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing ist ein selbststeuernder, selbstsichernder und Self-Repairing-Datenbankservice, der für Transaktionsverarbeitungs-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren oder verwalten und keine Software installieren. Oracle Cloud Infrastructure übernimmt das Erstellen der Datenbank sowie Backup, Patching, Upgrade und Optimierung der Datenbank.
Empfehlungen
Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
- Auswahl des Verbindungsstandorts
Diese Architektur erfordert einen oder mehrere geografische Standorte für ihre Komponenten: die OCI-Region und den zugehörigen OCI FastConnect-Edge-Knoten sowie die AWS-Region und den zugehörigen AWS Direct Connect-Edge-Knoten. Um eine optimale End-to-End-Latenz zu erreichen, empfehlen wir, einen Ort auszuwählen, an dem jedes dieser architektonischen Elemente in unmittelbarer Nähe liegt.
- Provisioning
Konfigurieren Sie für eine Oracle Database in einem privaten Endpunkt das VCN so, dass Traffic nur vom angegebenen VCN zulässig ist. Dadurch wird der Zugriff auf die Datenbank von allen öffentlichen IPs oder VCNs blockiert. Wählen Sie CIDR-Blöcke aus, die sich nicht mit anderen Netzwerken (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, für die Sie private Verbindungen einrichten möchten.
- Anwendungsdesign
Wenn Sie die Aktiv-Aktiv-Replikation verwenden, müssen die Zeitzonen auf beiden Datenbanksystemen identisch sein, damit zeitstempelbasierte Konfliktauflösung und -erkennung effektiv funktionieren können.
- Dateneindeutigkeit
Wenn Sie die Active/Active-Replikation verwenden, legen Sie einen eindeutigen Bereich in Sequenzen fest, um Konflikte zu vermeiden. Konfliktlösungsverfahren müssen auf allen Systemen in einer Aktiv-Aktiv-Konfiguration implementiert werden. Konflikte sollten sofort erkannt und möglichst automatisiert behandelt werden.
Hinweise
Berücksichtigen Sie bei der Implementierung eines Split-Stack-Deployments diese Optionen.
- Netzwerk
Mit einer Multicloud-Lösung ist Networking eine wichtige Determinante der gesamten Systemleistung. Es liegt in der Verantwortung des Kunden, sicherzustellen, dass das Cloud-to-Cloud-Netzwerk (Bandbreite und Latenz) vollständig getestet wird, um sicherzustellen, dass die Anwendungsperformance die definierten Geschäftsanforderungen erfüllt.
- Kostenfaktor
Mit der automatischen Skalierung von Oracle CPUs kann die Datenbank ihre Compute-Ressourcen (CPU und Arbeitsspeicher) automatisch an die Workload-Anforderungen anpassen. Bei Spitzen-Workloads kann Oracle Autonomous Transaction Processing (ATP) mehr Ressourcen zuweisen, um eine optimale Performance zu gewährleisten. In Zeiten geringerer Nachfrage kann es nach unten skaliert werden, um Kosten zu sparen. Diese Elastizität ist besonders nützlich, um schwankende Workloads effizient und kostengünstig zu bewältigen.
- Strategie zur Konfliktlösung
Definieren Sie eine klare Strategie zur Konfliktlösung in Ihrer Anwendung. Wenn widersprüchliche Änderungen erkannt werden, sollte Ihre Anwendung so programmiert werden, dass sie basierend auf vordefinierten Regeln verarbeitet werden. Diese Regeln können Änderungen aus einer Quelle gegenüber einer anderen priorisieren oder widersprüchliche Änderungen basierend auf bestimmten Kriterien zusammenführen.