Datenmapping für NoSQL-Datenbanken
NoSQL-Datenbanken sind nicht-relationale Datenbanken, die Daten anders speichern als herkömmliche Datenbanken, die aus relationalen Tabellen bestehen. Zwei der beliebtesten NoSQL-Datenbanken, MongoDB und Apache CouchDB, speichern Daten als Sammlungen von BSON- (binäres JSON) und JSON-Dokumenten. Diese Datenbanken nutzen flexible JSON-Schemata und lassen sich problemlos mit großen Datenmengen und hoher Benutzerlast skalieren.
Altova MapForce unterstützt seit langem die Datenzuordnung für alle gängigen relationalen Datenbanken und bietet jetzt auch native Unterstützung für die Datenzuordnung von NoSQL-Datenbanken. MapForce beinhaltet Funktionen zum Einfügen, Extrahieren, Filtern und Sortieren von NoSQL-Daten. Sehen wir uns ein Beispiel an.

Im Folgenden wird eine vollständige Datenabbildung aus der NoSQL-MongoDB-Datenbank "sample_analytics" dargestellt. Diese Abbildung extrahiert einen Teilmengen der binären JSON-Daten (BSON) aus verschiedenen Sammlungen, kombiniert, filtert, transformiert und sortiert die Daten und exportiert das Ergebnis als ein einzelnes JSON-Dokument.

Die NoSQL-Datenbank "sample_analytics" ist ein Beispiel, das auf dem öffentlich zugänglichen MongoDB Atlas Cloud-Server gehostet wird. Sie speichert Trainingsdaten für eine simulierte Finanzdienstleistungsanwendung. Die Datenbank enthält Sammlungen von BSON-Dokumenten für 500 Kunden, 1.746 Konten und 1.746 Kauf- oder Verkaufsaufträge.
Die Datenzuordnung für NoSQL-Datenbanken in MapForce beginnt mit der Auswahl der NoSQL-Datenbank über den MapForce-Assistenten zum Herstellen einer Datenbankverbindung und der Eingabe der Verbindungsparameter. Anschließend können Sie die zu mappenden Sammlungen auswählen:

Jede Sammlung benötigt ein JSON-Schema, um ihre Objekte zu definieren. Dieses Schema kann in der Datenbank zur Validierung hinterlegt werden oder es kann sich um eine externe Datei handeln.

Hier ist eine erweiterte Ansicht der Objekte in den Sammlungen "Kunden" und "Transaktionen", die für die NoSQL-Datenzuordnung in MapForce vorbereitet ist:

Nachdem wir ein JSON-Schema oder eine Beispiel-JSON-Datei für das Ausgabeziel hinzugefügt haben, können wir mit der Verknüpfung von Objekten in der Datenbank mit der Ausgabe beginnen. Die NoSQL-Datenbank MongoDB speichert binäre JSON-Daten. Die MapForce-Funktionsbibliothek enthält integrierte Funktionen zur Manipulation von BSON-Daten:

Die Datenbank enthält Kundenprofile mit E-Mail-Adressen von Gmail, Hotmail und Yahoo, aber unser Mapping-Projekt soll nur Ergebnisse für Kunden mit Yahoo.com-Adressen liefern. Offensichtlich gibt es in einer NoSQL-Datenbank keine SQL-Select-/Where-Abfrage, um E-Mail-Adressen zu filtern! Stattdessen können wir eine BSON-Funktion zur Verwendung von regulären Ausdrücken mit einer in MapForce integrierten Where-/Order-Struktur kombinieren, um das gleiche Ergebnis zu erzielen:

Die Option "Wo/Sortieren" in MapForce erfüllt auch eine weitere Projektanforderung: Sie sortiert die Kunden nach Geburtsdatum in der Ausgabe.

Das BSON-Format unterstützt zusätzliche Datentypen als einfache JSON-Strings oder numerische Werte. MapForce konvertiert automatisch das Geburtsdatum vom BSON-Datumsformat in einen String, damit die Funktion "FormatDatum" es für die endgültige Ausgabe verarbeiten kann.

Durch die Kombination von MapForce-Strukturen für Bedingungen (Where) und Reihenfolge (Order) mit anderen in MapForce integrierten Funktionen wird die Sammlung von Transaktionen gefiltert, sodass nur "Kauf"-Transaktionen ausgegeben werden. Anschließend werden die Transaktionen in gruppierter und sortierter Form mit Profilen in der Kundensammlung verknüpft.

Die Ausgabedatei enthält alle Kunden mit E-Mail-Adressen von yahoo.com und listet deren Kaufaufträge, gruppiert nach Kundenkonto. Darüber hinaus enthält die Ausgabedatei eine Liste der Kunden, sortiert nach Geburtsdatum, von den jüngsten zu den ältesten. Hier ist ein Auszug aus der JSON-Ausgabe, wie sie in XMLSpy angezeigt wird, einem weit verbreiteten Werkzeug für: Bearbeitung, Modellierung, Transformation und Fehlerbehebung von JSON- und XML-Dateien Technologien:

Die Benutzer werden in absteigender Reihenfolge nach Geburtsdatum angezeigt, und die Kauftransaktionen für jedes Konto sind alphabetisch nach den "name"-Objekten im JSON-Format in der Ausgabe sortiert.
Wenn Sie die Verarbeitung regelmäßig wiederholen müssen, um neuere Transaktionen zu erfassen, bietet MapForce Server.. automatisiert die Ausführung von Datenzuordnungen designt mit MapForce
MapForce ist ein leistungsstarkes Werkzeug zur Datenzuordnung, mit dem Sie NoSQL-Datenbanken mit verschiedenen Formaten und Systemen verbinden können, darunter: XML, JSON, Datenbanken, EDI, XBRL, einfache Textdateien, Excel und/oder Webdienste. Um es für Ihre eigene Anwendung zur Datenzuordnung mit NoSQL-Datenbanken auszuprobieren, laden Sie eine Version herunter voll funktionsfähige kostenlose Testversion heute!