Altova MapForce 2025 Enterprise Edition

In diesem Unterabschnitt werden die wichtigsten Punkte zu NoSQL-Datenbanken behandelt. Beachten Sie, dass NoSQL-Datenbanken keine Beziehungen und benutzerdefinierten SQL-Anweisungen unterstützen.

 

Datenstrukturen

JSON Schema

In MapForce wird die Struktur von NoSQL-Datenbankkomponenten mit Hilfe von JSON-Schema beschrieben. Beachten Sie, dass für das Datenmapping in MapForce eine Datenstruktur erforderlich ist. Anstelle von Feldern in einer Datenbanktabelle muss der Benutzer ein JSON-Schema einbetten, um eine mapbare Struktur zu erhalten. Als Schema kann ein benutzergeneriertes oder ein automatisch anhand des Datenbankinhalts generiertes Schema verwendet werden. Nähere Informationen dazu finden Sie unter Zuweisen von JSON-Schemas MongoDB unterstützt die Speicherung eines Schemas zur Validierung von Dokumenten in der Datenbank.

 

Daten in JSON und BSON

In MongoDB werden Dokumente in BSON (Binary JSON) gespeichert. In CouchDB und CosmosDB werden Daten in JSON gespeichert. Nähere Informationen über die Unterschiede finden Sie unter JSON und BSON.

 

BSON-Funktionsbibliothek

Das Fenster "Bibliotheken" enthält eine neue BSON-Funktionsbibliothek, mit deren Hilfe Sie BSON-Typen erstellen und bearbeiten können. Um die bson-Bibliothek zu finden, geben Sie in das Textfeld am unteren Rand des Fensters Bibliotheken bson ein.

 

Komponenteneinstellungen

In Dialogfeld Komponenteneinstellungen können verschiedene Einstellungen im Zusammenhang mit Datenbanken konfiguriert werden: Dazu gehören Verbindungs- und Login-Einstellungen, Timeout, Datenbanktransaktionsbehandlungs- und Ablaufverfolgungseinstellungen. Je nach Datenbanktyp stehen unter Umständen unterschiedliche Einstellungen zur Verfügung. Nähere Informationen über die Komponenteneinstellungen finden Sie unter Datenbank-Komponenteneinstellungen.

 

Abfragen, Filtern, Verbinden von Datenbankdaten

DB-Abfrage

Derzeit wird das DB-Abfrage-Fenster nur eingeschränkt unterstützt. Sie sehen im Fenster DB-Abfrage die Liste der verfügbaren Collections in Ihrer Datenbank. Die Ausführung von Abfragen wird jedoch nicht unterstützt.

 

SQL/NoSQL-WHERE/ Order-Komponente

Sie können Datenbankdaten mit Hilfe der SQL/NoSQL-WHERE/ORDER-Komponente filtern und sortieren.

 

Filtern von Daten in MongoDB und CouchDB

Zum Filtern und Sortieren von Datenbankdaten wird in MongoDB und CouchDB eine JSON-basierte Syntax verwendet; Anstelle von ":" wird vor einem Parameter im Abfragefilter das Zeichen "@" verwendet. Nähere Informationen über die Syntax zum Abfragen von Dokumenten in einer Collection finden Sie in der Dokumentation zu MongoDB.

 

Filtern von Daten in CosmosDB

In CosmosDB wird SQL als Abfragesprache verwendet.

 

Wenn der Name eines Containers in Ihrer CosmosDB Sonderzeichen enthält (z.B. +, -, @, usw.) oder ein Schlüsselwort ist, kann dieser Name in Abfragen nicht verwendet werden und Sie erhalten von der Datenbank einen Syntaxfehler. Zur Vermeidung potenzieller Probleme verwendet MapForce für CosmosDB-Abfragen die folgende Syntax:

 

SELECT * FROM ROOT AS c WHERE c.<field> ORDER BY c.<field>

 

Das Schlüsselwort ROOT in der FROM-Klausel referenziert den aktuell abgefragten Container. Da das Schlüsselwort ROOT nicht zum Adressieren von Feldern in WHERE- und ORDER BY-Klauseln verwendet werden kann, erhält der Container den Aliasnamen c, der dem Container über das Schlüsselwort AS zugewiesen wird. Durch Zuweisung eines Aliasnamens kann der Container-Inhalt gefiltert und sortiert werden.

 

Beachten Sie, dass allen Feldreferenzen im Dialogfeld WHERE/ORDER der Container-Aliasname c vorangestellt werden muss (siehe Beispiel unten).

 

SELECT * FROM ROOT AS c WHERE c.age > 20 ORDER BY c.name

 

Join-Komponente

Die Join-Komponente funktioniert nur im Nicht-SQL-Modus.

 

DB-Zielaktionen

NoSQL-Datenbanken unterstützen vier Aktionen für Ziel-DB-Collections. Wenn als Zielkomponente eine NoSQL-Datenbank verwendet wird, wird neben dem Collection-Namen die Schaltfläche btn_TargetAction (die Aktionsschaltfläche) angezeigt. Die Aktionsschaltfläche ändert sich je nach gewählter Aktion. Bei Klick auf diese Schaltfläche wird das Dialogfeld Datenbank-Collection-Zielaktion aufgerufen, in dem eine von vier Zielaktionen ausgewählt werden kann: Einfügen, Ersetzen, Ersetzen oder Einfügen und Löschen (siehe Abbildung unten).

MF_SourcesTargets_NoSQL1

Die nachstehende Liste enthält eine kurze Beschreibung der Zielaktionen:

 

Die Aktion Einfügen: Die gemappten Daten werden zusätzlich zu den bereits in der Zieldatenbank enthaltenen Daten (falls vorhanden) eingefügt.

Mit der Aktion Ersetzen wird das gesamte Dokument in der Zieldatenbank ersetzt, falls seine _id mit derjenigen in den gemappten Daten übereinstimmt.

Mit der Einfügen Aktion Ersetzen oder einfügen wird das gesamte Dokument in der Zieldatenbank ersetzt, falls seine _id mit derjenigen in den gemappten Daten übereinstimmt. Andernfalls wird die Aktion Einfügen ausgeführt.

Mit der Aktion Löschen wird das gesamte Dokument in der Zieldatenbank gelöscht, falls seine _id mit derjenigen in den gemappten Daten übereinstimmt.

 

Neben der Auswahl einer Zielaktion haben Sie auch die Möglichkeit, Bulk Transfer zu aktivieren und die Batch-Größe zu definieren.

 

Primärschlüssel

Beachten Sie, dass bei MongoDB der Primärschlüssel immer _id ist. In CouchDB und CosmosDB ist der Primärschlüssel das Feld id. Der Primärschlüssel ist bei Ersetzungs-, Zusammenführungs- und Löschoperationen von Bedeutung.

 

© 2018-2024 Altova GmbH