Migrierte MongoDB-Workload in Oracle Database Appliance bereitstellen
Workloads und Anwendungen, die Dokumente und Dokumentdatenbanken verwenden, um Datenschemas und Anwendungen zu entwickeln, sind aufgrund der Flexibilität, die sie Entwicklern bieten, beliebt. Die Flexibilität des Schemas, die schnelle Entwicklung und die Skalierbarkeit ermöglichen ein beschleunigtes Prototyping von Anwendungsfunktionen, eine einfachere Anwendungsentwicklung und die Möglichkeit, iterativ kleinere Anwendungen und Funktionen zu erstellen, die Entwickler skalieren können, um eine große Benutzerbasis zu erreichen. Diese Arten von Workloads haben jedoch ihre Herausforderungen, darunter schwächere Transaktionsgarantien, Vielseitigkeit der Datenabfrage und die Unfähigkeit, andere Workloads in Dokumenten wie Analysen oder maschinelles Lernen zu unterstützen.
Was ist, wenn diese Workloads von den Vorteilen herkömmlicher Dokumentendatenbanken profitieren und die Vorteile relationaler Datenbanken nutzen können? Sie verfügen beispielsweise über stärkere Transaktionsgarantien und zusätzliche Funktionen wie Analysen und maschinelles Lernen, ohne dass Daten in eine andere Datenbank oder ein anderes System repliziert werden müssen.
Oracle Database 23ai, entworfen, um die Entwicklung für KI-, Microservices-, Graph-, Dokument-, räumliche und relationale Anwendungen zu vereinfachen, ist eine konvergente Datenbankplattform, die alles bietet, was in einer leistungsstarken Lösung benötigt wird.
Oracle Database Appliance ist ein ausgereiftes System, das die Bereitstellung, Verwaltung und Unterstützung von Oracle Database-Hochverfügbarkeitslösungen optimiert. Durch die Integration von Software, Rechenleistung, Speicher und Netzwerken bietet sie zuverlässige Performance für eine Vielzahl von Online Transaction Processing-(OLTP-)Anwendungen, Analysen, Data Warehousing und KI-Anwendungen.
Funktionale Architektur
Diese Referenzarchitektur konzentriert sich auf das Deployment der migrierten Workload und nicht auf den Migrationsprozess. Weitere Informationen zum Migrationsprozess finden Sie im Abschnitt Weitere Informationen.
Eines der wichtigsten Features in dieser Architektur ist die Oracle Database-API für MongoDB, mit der Anwendungen mit Sammlungen von JSON-Dokumenten in Oracle Database mit MongoDB-Befehlen interagieren können. Dadurch kann vorhandener Anwendungscode mit Daten arbeiten, die in Oracle Database 23ai gespeichert sind, ohne dass Code umgestaltet werden muss.
Das folgende Diagramm veranschaulicht eine typische Anwendung, die aus einer Datenbank-, Backend- und Frontend-Tier besteht.
mongodb-logical-arch-migration.zip
Ein beliebter Stack, mit dem dieses Muster implementiert wird, ist der MEAN-Stack:
- MongoDB: Dokumentdatenbank
- Express: Backend-Framework
- Winkel: Frontend-Rahmen
- Node.js: Backend-Server
Diese Architektur verwendet einen MEAN-Stack als Beispiel für ein vorhandenes Deployment für die Migration zu Oracle Database 23ai. Die Migration dieser Workload zu Oracle Database 23ai umfasst die folgenden allgemeinen Schritte:
- Bereitstellung und Konfiguration von Oracle Database Appliance.
- Erstellen Sie eine Oracle Database 23ai-Instanz in Oracle Database Appliance.
- Migrieren Sie Metadaten und Daten von MongoDB zu Oracle Database.
- Erstellen Sie VMs in Oracle Database Appliance, um die Backend-Tier und Oracle REST Data Services auszuführen.
- Bereitstellung und Konfiguration der Backend-Tier und von Oracle REST Data Services in Oracle Database Appliance-VMs.
- Konfigurieren Sie Oracle REST Data Services so, dass die MongoDB-API aktiviert wird, damit die Anwendung mit den MongoDB-Treibern mit der Datenbank kommunizieren kann.
- Konfigurieren Sie die Anwendung so, dass die neue Datenbankverbindungszeichenfolge verwendet wird.
- Verbinden Sie die Backend-Anwendung mit Oracle Database, indem Sie dieselben MongoDB-Tools und -Treiber verwenden, die in der Anwendung verwendet werden.
Nach der Migration der Workload zu Oracle Database können Sie die Funktionalität verbessern, indem Sie zusätzliche Features aktivieren, wie verbesserte Sicherheit, betriebliches Reporting, Analysen und maschinelles Lernen, ohne Daten aus der Datenbank zu kopieren. Oracle Database 23ai ist eine Multi-Modell-, Multi-Workload-Plattform, mit der Sie nahtlos Funktionen integrieren können, die relationale, räumliche, Diagramm- oder Vektordatentypen neben Ihrer vorhandenen Anwendung verwenden.
Um die Workload-Skalierbarkeit zu verbessern, weisen Sie der Datenbank mehr Rechenleistung und mehr Arbeitsspeicher zu, indem Sie die CPU-Cores anpassen, die den Datenbank- und Anwendungs-VMs zugewiesen sind.
Um die Verfügbarkeit zu verbessern, verfügt Oracle Database Appliance über ein vollständig redundantes hochverfügbares System, Oracle Database Appliance High Availability, das zwei Compute Nodes für das Deployment der Datenbank- und Backend-Ebene verwendet. Bei Verwendung mit Oracle Database 23ai Real Application Clusters wird eine vollständige High Availability erreicht.
Physische Architektur
Frontend-Tier
- Das aktuelle Deployment wird verwendet.
- Benutzer können über das Internet oder das Unternehmensnetzwerk eine Verbindung herstellen.
- Die DNS-Funktion ist so konfiguriert, dass Anforderungen im Falle eines Failovers an das Standby-Data Center weitergeleitet werden.
Backend-Tier
- Vorhandene Anwendungen werden in Oracle Database Appliance-VMs bereitgestellt, um die Workload-Konsolidierung zu ermöglichen und die Gesamtkosten zu senken.
- Vom Kunden verwaltete Oracle REST Data Services werden über Colocation und Deployment auf den Oracle Database Appliance-VMs der Anwendungsserver bereitgestellt, sodass der Anwendungscode über Oracle REST Data Services eine Verbindung zu Oracle Database 23ai herstellen kann.
- Die Skalierbarkeit der Backend-Ebene wird erreicht, indem bei Bedarf weitere Oracle Database Appliance-VMs hinzugefügt und Oracle REST Data Services, die in jeder Anwendungsserver-VM installiert sind, implizit skaliert werden.
Datenbankebene
- Oracle Database 23ai wird auf Oracle Database Appliance in einer Einzelknotenkonfiguration bereitgestellt, mit der JSON-Dokumente in der Backend-Tier gespeichert und bereitgestellt werden.
- Die Oracle Database-API für MongoDB wird mit Oracle REST Data Services aktiviert. Dadurch kann vorhandener Anwendungscode ohne Codeänderungen verwendet werden.
Geschäftskontinuität
- Es wird eine backupbasierte Disaster Recovery-Strategie verwendet.
- Um sicherzustellen, dass dieselben Application Service Level Objectives (SLOs) beibehalten werden, wenn die Workload aus dem Standby-Data Center ausgeführt wird, führen Sie eine vergleichbare Oracle Database Appliance-Infrastruktur an diesem Speicherort aus.
Das folgende Diagramm veranschaulicht diese Referenzarchitektur.
Das Design für die physische Architektur:
Geschäftskontinuität
- Es gibt zwei Data Center mit identischen Deployments: eines aktiv, das andere im Standby.
- Backups werden im Network File Storage (NFS) gespeichert und auf der Standbysite repliziert.
- Bei einem Ausfall im aktiven Data Center ermöglicht das neueste Backup, dass Workloads schnell im Standby Center gestartet werden können.
- Die DNS-Trafficsteuerung leitet Benutzeranforderungen an das aktive Data Center weiter. Wenn die auf der Anwendungsebene ausgeführten DNS-Health-Check-Probes wiederholt fehlschlagen, wird DNS neu konfiguriert, um Traffic an die Workload des Standby-Data Centers weiterzuleiten.
- Ein Load Balancer verteilt eingehende Anforderungen auf mehrere Backend-Tier-VMs und verhindert so einen Single Point of Failure.
- Vom Kunden verwaltete Oracle REST Data Services werden auf den Backend-Tier-VMs bereitgestellt und konfiguriert. Wenn eine VM hinzugefügt wird, werden sowohl der Anwendungsserver als auch Oracle REST Data Services entsprechend skaliert.
- Das Recovery Time Objective (RTO) hängt vom Deployment aller Workload-Komponenten im Standby-Data Center ab, einschließlich der Wiederherstellung der Datenbank aus dem letzten replizierten Backup.
- Das Recovery Point Objective (RPO) hängt vom letzten replizierten Backup ab.
Networking
- Es gibt ein öffentliches Subnetz, das eingehende Benutzeranforderungen aus dem Internet empfängt.
- Die öffentliche Netzwerkkarte (NIC) von Oracle Database Appliance ist an das private Workload-Subnetz angehängt.
- Load-Balancer-Anforderungen werden an die Backend-Tier-VMs der Oracle Database Appliance weitergeleitet, die Benutzeranforderungen erfüllen.
Datenbank
- Oracle Database 23ai wird in Oracle Database Appliance bereitgestellt.
- Daten werden redundant gespeichert, entweder mit doppelter oder dreifacher Spiegelung, um die Datenresilienz zu erhöhen.
- Automatisierte Datenbankbackups werden für Backups auf NFS konfiguriert. Diese Backups werden mit vorhandenen NFS-Replikationsfunktionen auf dem NFS des Standby-Data Centers repliziert.
Sicherheit
- Datenbankrollenbasierte Zugriffskontrollfunktionen (RBAC) werden zum Sichern der Workload verwendet.
- In der Datenbank gespeicherte Daten können mit transparenter Datenverschlüsselung (TDE) verschlüsselt werden, wenn die Oracle Database Enterprise Edition Advanced Security Option verwendet wird.
Mögliche Designverbesserungen, die in dieser Bereitstellung aus Gründen der Einfachheit nicht dargestellt werden, umfassen:
- Nutzen Sie ein Oracle Database Appliance High Availability-(HA-)System, das aus zwei Compute Nodes besteht, um High Availability für Backend-Workloads sicherzustellen. Stellen Sie VMs mit automatischem Neustart und Failover auf beiden Knoten bereit.
- Verwenden Sie Oracle Database Appliance HA mit Oracle Database Enterprise Edition und Oracle Real Application Clusters (Oracle RAC), um High Availability für die Datenbankebene bereitzustellen.
Empfehlungen
- Anwendungs-Deployment
Nutzen Sie mehrere Backend-Tier-VMs, um die Resilienz zu erhöhen. Aktivieren Sie die Oracle Database Appliance-Verwaltung von CPU-Ressourcen, um die richtige Menge an VMs-Compute zuzuweisen und die für die Anwendung erforderliche Servicequalität zu gewährleisten.
- Sicherheit
Wenn Sie Oracle Database Advanced Security Option-Features verwenden, um Daten im Ruhezustand zu verschlüsseln und dynamische Datenverdeckung zu aktivieren, ist eine Oracle Database Enterprise Edition-Lizenz erforderlich, um die erweiterte Sicherheitsoption von Oracle Database zu verwenden.
- Beobachtbarkeit
Verwenden Sie Oracle Data Safe, um den Sicherheitsstatus der Workload weiter zu erhöhen und Datenbankauditing ausführen zu können.
- Betriebliche Effizienz
Verwenden Sie Infrastruktur als Code, nämlich Terraform, in Verbindung mit dem Oracle Database Appliance-SDK, um das Deployment von VMs und Datenbanken zu automatisieren.
- Anwendungsentwicklung
- Erwägen Sie die Bereitstellung von Betriebsanalysen und Echtzeitberichten in Oracle Database 23ai mit SQL und einem Frontend wie Oracle APEX, um Daten für vertrauenswürdige Echtzeitanalysen in der Datenbank zu speichern.
- Ziehen Sie in Betracht, Oracle Database 23ai für maschinelles Lernen mit Oracle Machine Learning for SQL zu verwenden, um Modelle mit JSON-Daten zu erstellen und zu trainieren, ohne dass Daten verschoben werden müssen, und die Modelle neben der vorhandenen Workload bereitzustellen, um eine effiziente Inferenzierung zu ermöglichen.
- Verwenden Sie die Datenbank, um zusätzliche Datentypen (relational, vektor, räumlich oder grafisch) für zusätzliche Workload-Funktionalität und Flexibilität zu speichern.
- Erwägen Sie die Verwendung von Oracle Database Appliance und Oracle Database 23ai für Analysen, die über Betriebsanalysen hinausgehen, und profitieren Sie von der Hybrid Columnar Compression, einem effizienten, auf Datenanalysen zugeschnittenen Spaltenformat, das die Analyseperformance erhöht und gleichzeitig den zum Speichern von Daten benötigten Speicherplatz reduziert. Hybrid Columnar Compression wird in Oracle Database Appliance unterstützt und ist in einer Oracle Database Enterprise Edition-Lizenz enthalten.