Tabellen mit Indizes erstellen und Dokumente einfügen - Amazon Quantum Ledger Database (Amazon QLDB)

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.

Tabellen mit Indizes erstellen und Dokumente einfügen

Wichtig

Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB-Ledgers zu Amazon Aurora PostgreSQL.

Nachdem Sie ein Amazon QLDB-Ledger erstellt haben, besteht Ihr erster Schritt darin, eine Tabelle mit einer grundlegenden Aussage zu erstellen. CREATE TABLE Tabellen bestehen ausQLDB-Dokumente, bei denen es sich um Datensätze im Amazon struct Ion-Format handelt.

Tabellen und Indizes erstellen

Tabellen haben einfache Namen, bei denen Groß- und Kleinschreibung beachtet wird, ohne Namespaces. QLDB unterstützt offene Inhalte und erzwingt kein Schema, sodass Sie beim Erstellen von Tabellen keine Attribute oder Datentypen definieren.

CREATE TABLE VehicleRegistration
CREATE TABLE Vehicle

Eine CREATE TABLE Anweisung gibt die vom System zugewiesene ID der neuen Tabelle zurück. Alle IDs in QLDB vom System zugewiesenen Bezeichner sind Universally Unique Identifier (UUID), die jeweils in einer Base62-codierten Zeichenfolge dargestellt werden.

Anmerkung

Optional können Sie Tags für eine Tabellenressource definieren, während Sie die Tabelle erstellen. Um zu erfahren wie dies geht, vgl. Taggen von Tabellen bei der Erstellung.

Sie können auch Indizes für Tabellen erstellen, um die Abfrageleistung zu optimieren.

CREATE INDEX ON VehicleRegistration (VIN)
CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
CREATE INDEX ON Vehicle (VIN)
Wichtig

QLDB benötigt einen Index, um ein Dokument effizient nachschlagen zu können. Ohne Index muss QLDB beim Lesen von Dokumenten einen vollständigen Tabellenscan durchführen. Dies kann bei großen Tabellen zu Leistungsproblemen führen, einschließlich Parallelitätskonflikten und Transaktions-Timeouts.

Um Tabellenscans zu vermeiden, müssen Sie Anweisungen mit einer WHERE Prädikatklausel mithilfe eines Gleichheitsoperators (=oderIN) für ein indiziertes Feld oder eine Dokument-ID ausführen. Weitere Informationen finden Sie unter Optimieren der Abfrageleistung.

Beachten Sie beim Erstellen von Indizes die folgenden Einschränkungen:

  • Ein Index kann nur für ein einzelnes Feld der obersten Ebene erstellt werden. Zusammengesetzte, verschachtelte, eindeutige und funktionsbasierte Indizes werden nicht unterstützt.

  • Sie können einen Index für alle Ion-Datentypen erstellen, einschließlich und. list struct Sie können die indizierte Suche jedoch nur nach Gleichheit des gesamten Ionen-Werts durchführen, unabhängig vom Ionentyp. Wenn Sie beispielsweise einen list Typ als Index verwenden, können Sie keine indizierte Suche nach einem Element in der Liste durchführen.

  • Die Abfrageleistung wird nur verbessert, wenn Sie ein Gleichheitsprädikat verwenden, WHERE indexedField = 123 z. B. oder. WHERE indexedField IN (456, 789)

    QLDB berücksichtigt keine Ungleichheiten in Abfrageprädikaten. Aus diesem Grund werden bereichsgefilterte Scans nicht implementiert.

  • Bei Namen indizierter Felder wird zwischen Groß- und Kleinschreibung unterschieden und sie können maximal 128 Zeichen lang sein.

  • Die Indexerstellung in QLDB ist asynchron. Die Zeit, die benötigt wird, um die Erstellung eines Indexes für eine nicht leere Tabelle abzuschließen, hängt von der Tabellengröße ab. Weitere Informationen finden Sie unter Verwalten von Indexen.

Dokumente werden eingefügt

Anschließend können Sie Dokumente in Ihre Tabellen einfügen. QLDB-Dokumente werden im Amazon Ion-Format gespeichert. Die folgenden PartiQL-INSERT-Anweisungen enthalten eine Teilmenge der Beispieldaten für die Fahrzeugzulassung, die in Erste Schritte mit der Amazon QLDB-Konsole verwendet werden.

INSERT INTO VehicleRegistration << { 'VIN' : '1N4AL11D75C109151', 'LicensePlateNumber' : 'LEWISR261LL', 'State' : 'WA', 'City' : 'Seattle', 'PendingPenaltyTicketAmount' : 90.25, 'ValidFromDate' : `2017-08-21T`, 'ValidToDate' : `2020-05-11T`, 'Owners' : { 'PrimaryOwner' : { 'PersonId' : '294jJ3YUoH1IEEm8GSabOs' }, 'SecondaryOwners' : [ { 'PersonId' : '5Ufgdlnj06gF5CWcOIu64s' } ] } }, { 'VIN' : 'KM8SRDHF6EU074761', 'LicensePlateNumber' : 'CA762X', 'State' : 'WA', 'City' : 'Kent', 'PendingPenaltyTicketAmount' : 130.75, 'ValidFromDate' : `2017-09-14T`, 'ValidToDate' : `2020-06-25T`, 'Owners' : { 'PrimaryOwner' : { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' }, 'SecondaryOwners' : [] } } >>
INSERT INTO Vehicle << { 'VIN' : '1N4AL11D75C109151', 'Type' : 'Sedan', 'Year' : 2011, 'Make' : 'Audi', 'Model' : 'A5', 'Color' : 'Silver' } , { 'VIN' : 'KM8SRDHF6EU074761', 'Type' : 'Sedan', 'Year' : 2015, 'Make' : 'Tesla', 'Model' : 'Model S', 'Color' : 'Blue' } >>
PartiQL-Syntax und -Semantik
  • Feldnamen werden in einfache Anführungszeichen eingeschlossen ('...').

  • Zeichenfolgenwerte werden ebenfalls in einfache Anführungszeichen eingeschlossen ('...').

  • Zeitstempel werden in umgekehrten Anzeichen (`...`) eingeschlossen. Mit umgekehrten Anführungszeichen können Sie beliebige Ion-Literalwerte kennzeichnen.

  • Ganzzahlen und Dezimalstellen sind Literalwerte, die nicht bezeichnet werden müssen.

Weitere Informationen zur Syntax und Semantik von PartiQL finden Sie unter. Abfragen von Ion mit PartiQL in Amazon QLDB

Eine INSERT-Anweisung erstellt die anfängliche Revision eines Dokuments mit einer Versionsnummer von Null. Um jedes Dokument eindeutig zu identifizieren, weist QLDB als Teil der Metadaten eine Dokument-ID zu. Insert-Anweisungen geben die ID jedes eingefügten Dokuments zurück.

Wichtig

Da QLDB kein Schema erzwingt, können Sie dasselbe Dokument mehrmals in eine Tabelle einfügen. Mit jeder Insert-Anweisung wird ein separater Dokumenteintrag in das Journal übernommen, und QLDB weist jedem Dokument eine eindeutige ID zu.

Informationen zum Abfragen der Dokumente, die Sie in Ihre Tabelle eingefügt haben, finden Sie unter Ihre Daten werden abgefragt.