Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beurteilen Sie die Abfrageleistung für die Migration von SQL Server-Datenbanken zu MongoDB Atlas auf AWS
Erstellt von Battulga Purevragchaa (AWS), Krishnakumar Sathyanarayana (US Inc) und Babu Srinivasan (MongoDB) PeerIslands
Übersicht
Dieses Muster bietet Anleitungen zum Laden von MongoDB mit nahezu realen Daten und zur Bewertung der MongoDB-Abfrageleistung, die dem Produktionsszenario so nahe wie möglich kommt. Die Bewertung liefert Informationen, die Ihnen bei der Planung Ihrer Migration von einer relationalen Datenbank zu MongoDB helfen. Das Muster verwendet PeerIslands Test Data Generator und Performance Analyzer
Dieses Muster ist besonders nützlich für die Migration von Microsoft SQL Server zu MongoDB, da das Durchführen von Schematransformationen und das Laden von Daten aus aktuellen SQL Server-Instanzen nach MongoDB sehr komplex sein kann. Stattdessen können Sie nahezu reale Daten in MongoDB laden, die Leistung von MongoDB verstehen und das Schemadesign verfeinern, bevor Sie mit der eigentlichen Migration beginnen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto
Vertrautheit mit MongoDB Atlas
MongoDB-Zielschema
Typische Abfragemuster
Einschränkungen
Die Ladezeiten und die Leistung von Daten werden durch die Größe der MongoDB-Clusterinstanz begrenzt. Wir empfehlen Ihnen, Instances auszuwählen, die für den Produktionseinsatz empfohlen werden, um die Leistung in der Praxis zu verstehen.
PeerIslands Test Data Generator und Performance Analyzer unterstützen derzeit nur Online-Datenladungen und -abfragen. Die Offline-Batchverarbeitung (z. B. das Laden von Daten in MongoDB mithilfe von Spark-Konnektoren) wird noch nicht unterstützt.
PeerIslands Test Data Generator und Performance Analyzer unterstützen Feldbeziehungen innerhalb einer Sammlung. Es unterstützt keine Beziehungen zwischen Sammlungen.
Produkteditionen
Dieses Muster unterstützt sowohl MongoDB Atlas
als auch MongoDB Enterprise Advanced .
Architektur
Zieltechnologie-Stack
MongoDB Atlas oder MongoDB Enterprise Advanced
Architektur

PeerIslands Test Data Generator and Performance Analyzer wurde mithilfe von Java und Angular erstellt und speichert die generierten Daten im Amazon Elastic Block Store (Amazon EBS). Das Tool besteht aus zwei Workflows: Generierung von Testdaten und Leistungstests.
Bei der Testdatengenerierung erstellen Sie eine Vorlage, bei der es sich um die JSON-Darstellung des Datenmodells handelt, das generiert werden muss. Nachdem Sie die Vorlage erstellt haben, können Sie die Daten in einer Zielsammlung generieren, wie in der Konfiguration zur Ladegenerierung definiert.
Bei Leistungstests erstellen Sie ein Profil. Ein Profil ist ein mehrstufiges Testszenario, in dem Sie CRUD-Operationen (Create, Lese, Update and Delete), Aggregationspipelines, die Gewichtung für jeden Vorgang und die Dauer jeder Phase konfigurieren können. Nachdem Sie das Profil erstellt haben, können Sie auf der Grundlage der Konfiguration Leistungstests für die Zieldatenbank ausführen.
PeerIslands Test Data Generator and Performance Analyzer speichert seine Daten auf Amazon EBS, sodass Sie Amazon EBS mit MongoDB verbinden können, indem Sie jeden von MongoDB unterstützten Verbindungsmechanismus verwenden, einschließlich Peering, Zulassungslisten und privaten Endpunkten. Standardmäßig enthält das Tool keine Betriebskomponenten. Es kann jedoch bei Bedarf mit Amazon Managed Service for Prometheus, Amazon Managed Grafana CloudWatch, Amazon und AWS Secrets Manager konfiguriert werden.
Tools
PeerIslands Test Data Generator und Performance Analyzer bestehen
aus zwei Komponenten. Die Komponente Test Data Generator hilft Ihnen dabei, hochgradig kundenspezifische, reale Daten auf der Grundlage Ihres MongoDB-Schemas zu generieren. Das Tool ist vollständig UI-gesteuert und verfügt über eine umfangreiche Datenbibliothek. Es kann verwendet werden, um schnell Milliarden von Datensätzen auf MongoDB zu generieren. Das Tool bietet auch Funktionen zum Implementieren von Beziehungen zwischen Feldern im MongoDB-Schema. Die Performance Analyzer-Komponente hilft Ihnen dabei, hochgradig kundenspezifische Abfragen und Aggregationen zu generieren und realistische Leistungstests auf MongoDB durchzuführen. Sie können den Performance Analyzer verwenden, um die MongoDB-Leistung mit umfangreichen Lastprofilen und parametrisierten Abfragen für Ihren speziellen Anwendungsfall zu testen.
Bewährte Methoden
Weitere Informationen finden Sie in den folgenden Ressourcen:
Bewährte Methoden für das MongoDB-Schemadesign
(MongoDB-Entwickler-Website) Bewährte Methoden für die Bereitstellung von MongoDB Atlas auf AWS
(MongoDB-Website) Leitfaden mit bewährten Methoden für die Leistung von MongoDB
(MongoDB-Website)
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Machen Sie sich mit dem Datenbank-Footprint der aktuellen SQL Server-Quelle vertraut. | Machen Sie sich mit Ihrem aktuellen SQL Server-Footprint vertraut. Dies kann erreicht werden, indem Abfragen anhand des | DBA |
Verstehen Sie das Quellschema. | Ermitteln Sie das Tabellenschema und die geschäftliche Darstellung der Daten (z. B. Postleitzahlen, Namen und Währung). Verwenden Sie Ihr vorhandenes Entitätsbeziehungsdiagramm (ER) oder generieren Sie das ER-Diagramm aus der vorhandenen Datenbank. Weitere Informationen finden Sie im Blogbeitrag SQL2Mongo: Data Migration Journey | DBA |
Verstehen Sie Abfragemuster. | Dokumentieren Sie die 10 am häufigsten verwendeten SQL-Abfragen. Sie können die Tabellen performance_schema.events_statements_summary_by_digest verwenden, die in der Datenbank verfügbar sind, um die häufigsten Abfragen zu verstehen. Weitere Informationen finden Sie im Blogbeitrag Mongo: Data Migration Journey auf der Website. SQL2 | DBA |
Verstehen Sie die SLA-Verpflichtungen. | Dokumentieren Sie die angestrebten Service Level Agreements (SLAs) für Datenbankoperationen. Zu den typischen Messgrößen gehören Abfragelatenz und Abfragen pro Sekunde. Die Maßnahmen und ihre Ziele sind in der Regel in Dokumenten zu den nichtfunktionalen Anforderungen (NFR) enthalten. | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Definieren Sie das Zielschema. | Definieren Sie verschiedene Optionen für das MongoDB-Zielschema. Weitere Informationen finden Sie unter Schemas | MongoDB-Ingenieur |
Definieren Sie Zielabfragemuster. | Definieren Sie MongoDB-Abfragen und Aggregationspipelines. Diese Abfragen entsprechen den häufigsten Abfragen, die Sie für Ihre SQL Server-Arbeitslast erfasst haben. Informationen zum Aufbau von MongoDB-Aggregationspipelines finden Sie in der MongoDB-Dokumentation. | MongoDB-Ingenieur |
Definieren Sie den MongoDB-Instanztyp. | Ermitteln Sie die Größe der Instanz, die Sie zum Testen verwenden möchten. Anleitungen finden Sie in der MongoDB-Dokumentation | MongoDB-Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie den MongoDB Atlas-Cluster ein. | Folgen Sie den Anweisungen in der MongoDB-Dokumentation, um einen MongoDB-Cluster | MongoDB-Ingenieur |
Erstellen Sie Benutzer in der Zieldatenbank. | Konfigurieren Sie den MongoDB Atlas-Cluster für Zugriffs- und Netzwerksicherheit, indem Sie den Anweisungen in der MongoDB-Dokumentation | MongoDB-Ingenieur |
Erstellen Sie entsprechende Rollen in AWS und konfigurieren Sie die rollenbasierte Zugriffskontrolle für Atlas. | Richten Sie bei Bedarf weitere Benutzer ein, indem Sie den Anweisungen in der MongoDB-Dokumentation | MongoDB-Ingenieur |
Richten Sie Compass für den MongoDB Atlas-Zugriff ein. | Richten Sie das MongoDB Compass GUI Utility | MongoDB-Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren Sie den Testdatengenerator. | Installieren Sie PeerIsland Test Data Generator | MongoDB-Ingenieur |
Konfigurieren Sie den Testdatengenerator, um die entsprechenden Daten zu generieren. | Erstellen Sie eine Vorlage, indem Sie die Datenbibliothek verwenden, um spezifische Daten für jedes Feld im MongoDB-Schema zu generieren. Weitere Informationen finden Sie unter MongoDB Data Generator & Perf. Videoanalysator | MongoDB-Ingenieur |
Skalieren Sie den Testdatengenerator horizontal, um die erforderliche Last zu generieren. | Verwenden Sie die von Ihnen erstellte Vorlage, um die Lastgenerierung für die Zielsammlung zu starten, indem Sie die erforderliche Parallelität konfigurieren. Legen Sie die Zeitrahmen und den Umfang für die Generierung der erforderlichen Daten fest. | MongoDB-Ingenieur |
Überprüfen Sie die Ladung in MongoDB Atlas. | Überprüfen Sie die in MongoDB Atlas geladenen Daten. | MongoDB-Ingenieur |
Generieren Sie die erforderlichen Indizes auf MongoDB. | Definieren Sie Indizes nach Bedarf auf der Grundlage von Abfragemustern. Bewährte Methoden finden Sie in der MongoDB-Dokumentation | MongoDB-Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie Lastprofile in Performance Analyzer ein. | Erstellen Sie ein Leistungstestprofil in Performance Analyzer, indem Sie spezifische Abfragen und deren entsprechende Gewichtung, Dauer des Testlaufs und Phasen konfigurieren. Weitere Informationen finden Sie unter MongoDB Data Generator & Perf. Videoanalysator | MongoDB-Ingenieur |
Führen Sie Leistungstests durch. | Verwenden Sie das von Ihnen erstellte Leistungstestprofil, um den Test anhand der Zielsammlung zu starten, indem Sie die erforderliche Parallelität konfigurieren. Skalieren Sie das Leistungstest-Tool horizontal, um Abfragen gegen MongoDB Atlas auszuführen. | MongoDB-Ingenieur |
Testergebnisse aufzeichnen. | Zeichnen Sie die P95- und P99-Latenz für die Abfragen auf. | MongoDB-Ingenieur |
Optimieren Sie Ihr Schema und Ihre Abfragemuster. | Ändern Sie Indizes und Abfragemuster, um Leistungsprobleme zu beheben. | MongoDB-Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Fahren Sie temporäre AWS-Ressourcen herunter. | Löschen Sie alle temporären Ressourcen, die Sie für Test Data Generator und Performance Analyzer verwendet haben. | AWS-Administrator |
Aktualisieren Sie die Ergebnisse der Leistungstests. | Verstehen Sie die Leistung von MongoDB-Abfragen und vergleichen Sie sie mit Ihrer SLAs. Passen Sie bei Bedarf das MongoDB-Schema an und führen Sie den Vorgang erneut aus. | MongoDB-Ingenieur |
Schließe das Projekt ab. | Schließen Sie das Projekt ab und geben Sie Feedback. | MongoDB-Ingenieur |
Zugehörige Ressourcen
GitHub Repositorium: S3ToAtlas
Schema: MongoDB-Schemadesign
Aggregationspipelines: MongoDB-Aggregationspipelines
MongoDB Atlas Sizing: Auswahl der Größenstufen
Video: MongoDB-Datengenerator
und Perf. Analysator Referenzen: MongoDB-Dokumentation
Tutorials: MongoDB-Entwicklerhandbuch,
MongoDB Jumpstart AWS Marketplace: MongoDB Atlas auf AWS
Marketplace AWS-Partnerlösungen: MongoDB Atlas auf AWS-Referenzbereitstellung
Zusätzliche Ressourcen: