JSON-Dokumente mit Autonomous Database on Dedicated Exadata Infrastructure verwenden

Autonomous Database on Dedicated Exadata Infrastructure unterstützt JavaScript Object Notation-(JSON-)Daten nativ mit relationalen Datenbankfeatures, einschließlich Transaktionen, Indexierung, deklarativen Abfragen und Ansichten. In autonomen Datenbanken können JSON-Dokumente zusammen mit relationalen Daten vorhanden sein.

Im Gegensatz zu relationalen Daten können JSON-Daten in der Datenbank gespeichert, indexiert und abgefragt werden, ohne dass ein Schema erforderlich ist, das die Daten definiert. Im Allgemeinen führen Sie die folgenden Aufgaben bei der Arbeit mit JSON-Daten in Autonomous Database aus:
  1. JSON-Spalte mit einem is json format oson-Check Constraint erstellen
  2. JSON-Daten in die Spalte einfügen
  3. JSON-Daten abfragen
Ausführliche Anweisungen mit Codebeispielen finden Sie unter Mit JSON-Dokumenten in Autonomous Database arbeiten im Oracle Database 19c JSON Developer's Guide oder im Oracle Database 23ai JSON Developer's Guide.

Hinweis:

Wenn Sie mit SODA auf Collections in Oracle Database 19c zugreifen, empfiehlt Oracle, dass Sie den Instant Client für Oracle Database 21c oder höher verwenden, um die Migration auf die Verwendung des JSON-Datentyps bei einem Upgrade der Datenbank auf Release 21 oder höher zu vereinfachen.

SQL- und PL/SQL-APIs

Wenn Sie eine Autonomous Database zum Speichern von JSON-Daten verwenden, können Sie alle in Autonomous Database verfügbaren Features nutzen. Sie können JSON-Daten mit Nicht-JSON-Daten kombinieren. Auf JSON-Daten, die in der Datenbank gespeichert sind, können Sie genauso wie auf andere Datenbankdaten zugreifen, einschließlich Oracle Call Interface (OCI), Microsoft.NET Framework und Java Database Connectivity (JDBC). Siehe JSON in Oracle Database 19c oder Oracle Database 23ai, um die Verwendung von SQL- und PL/SQL-APIs für die Arbeit mit JSON-Dokumenten zu lernen.

Oracle API for MongoDB-Support

Die Oracle Database-API für MongoDB übersetzt das Wire-Protokoll MongoDB in SQL-Anweisungen, die von Oracle Database ausgeführt werden. Damit können Entwickler, die über MongoDB-Skills verfügen, JSON-Dokumentspeicheranwendungen für Oracle Database schreiben, die Treiber und Tools verwenden, die das MongoDB-Protokoll verstehen. Einen detaillierten Überblick über diese API finden Sie unter Überblick über die Oracle Database-API für MongoDB in Oracle Database API für MongoDB.

See Use MongoDB API with Oracle Autonomous Database for instructions on enabling and using the MongoDB API with Autonomous Database.

Simple Oracle Document Access (SODA)

Oracle stellt außerdem eine Familie von Simple Oracle Document Access-(SODA-)APIs für den Zugriff auf JSON-Daten bereit, die in der Datenbank gespeichert sind. SODA wurde für die schemalose Anwendungsentwicklung ohne Kenntnisse über relationale Datenbankfeatures oder Sprachen wie SQL und PL/SQL entwickelt. Damit können Sie Collections von Dokumenten in Oracle Database erstellen, speichern, abrufen und abfragen, ohne zu wissen, wie die Dokumente in der Datenbank gespeichert sind. Weitere Informationen zu SODA finden Sie unter Oracle als Dokumentspeicher und Überblick über SODA.

Es gibt mehrere Implementierungen von SODA:
  • SODA for REST: Representational State Transfer-(REST-)Anforderungen führen Collection- und Dokumentvorgänge mit einer beliebigen Sprache aus, die HTTP-Aufrufe tätigen kann.
  • SODA für Java: Java-Klassen und -Schnittstellen stellen Datenbanken, Collections und Dokumente dar.
  • SODA für PL/SQL: PL/SQL-Objekttypen stellen Collections und Dokumente dar.
  • SODA für C: Oracle Call Interface-(OCI-)Handles stellen Collections und Dokumente dar.
  • SODA für Node.js: SODA-Dokumente im NoSQL-Stil werden eingefügt, abgefragt und abgerufen. Objekte wie SodaDatabase, SodaCollection, SodaDocument, SodaDocumentCursor und SodaOperation stellen die Datenbanken, Collections, Dokumente, Dokumentcursor und Lese-/Schreibvorgänge dar.
  • SODA für Python: cx_Oracle-Methoden im NoSQL-Stil werden zum Einfügen, Abfragen und Abrufen von SODA-Dokumenten verwendet. Objekte wie SodaDatabase, SodaCollection, SodaDocument, SodaDocumentCursor und SodaOperation stellen die Datenbanken, Collections, Dokumente, Dokumentcursor und Lese-/Schreibvorgänge dar.
Sie können die SODA-Treiber auf der Seite Details von einer Autonomous Database herunterladen.
  • Gehen Sie zur Seite Details von Autonomous Database. Siehe Details einer dedizierten autonomen Datenbank anzeigen.
  • Öffnen Sie die Registerkarte Tools.
  • Suchen Sie die Kachel SODA-Treiber, und klicken Sie auf SODA-Treiber herunterladen.
  • Laden Sie die gewünschten SODA-Treiber aus der angezeigten Treiberliste herunter.

SODA-Collection-Metadaten

Eine SODA-Collection ist eine Gruppe von Dokumenten, die von einer Autonomous Database-Tabelle oder -View unterstützt werden. Beim Erstellen einer SODA-Dokuments-Collection wird standardmäßig Folgendes in Oracle Database erstellt:
  • Persistente Standard-Collection-Metadaten.
  • Eine Tabelle zum Speichern der Collection im Datenbankschema, mit dem der SODA-Client verbunden ist.
Sie können Collection-Metadaten anpassen, um ein anderes Verhalten als das standardmäßig bereitgestellte zu erhalten. Die einzigen Metadaten, die Sie in Autonomous Database anpassen können, sind die Methode zur Dokumentschlüsselgenerierung und der Inhaltsmedientyp. Insbesondere können Sie den SQL-Typ der Spalte zum Speichern von JSON-Inhalten (Inhaltsspalte) nicht ändern. Unter SODA-Collection-Metadaten in Autonomous Database wird beschrieben, wie Sie die standardmäßigen und angepassten Collection-Metadaten verwenden.

Einschränkungen bei der Verwendung von SODA und JSON

Autonomous Database unterstützt SODA und JSON mit den folgenden Einschränkungen:
  • Die automatische Indexierung wird für SQL- und PL/SQL-Code, der die SQL/JSON-Funktion json_exists verwendet, nicht unterstützt. Weitere Informationen finden Sie unter SQL/JSON-Bedingung JSON_EXISTS in Oracle Database 19c oder Oracle Database 23ai.
  • Automatische Indexierung wird für SODA-Query-by-Example (QBE) nicht unterstützt.