Kernkonzepte und Terminologie in Amazon QLDB - 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.

Kernkonzepte und Terminologie in Amazon QLDB

Dieser Abschnitt bietet einen Überblick über die wichtigsten Konzepte und Terminologie in Amazon QLDB, einschließlich der Buchstruktur und der Datenverwaltung in einem Ledger. Als Ledger-Datenbank unterscheidet sich QLDB von anderen dokumentenorientierten Datenbanken, wenn es um die folgenden Schlüsselkonzepte geht.

QLDB-Datenobjektmodell

Das grundlegende Datenobjektmodell in Amazon QLDB wird wie folgt beschrieben:

  1. Hauptbuch

    Ihr erster Schritt besteht darin, ein Ledger zu erstellen. Dies ist der primäreAWS Ressourcentyp in QLDB. Informationen zum Erstellen eines Ledgers finden SieSchritt 1: Erstellen eines neuen Ledgers unter Erste Schritte mit der Konsole oderGrundfunktionen für Amazon QLDB-Ledgers.

    Sowohl für denALLOW_ALL Modus als auch für denSTANDARD Berechtigungsmodus eines Ledgers erstellen SieAWS Identity and Access Management (IAM) -Richtlinien, die Berechtigungen zum Ausführen von API-Vorgängen auf dieser Ledger-Ressource gewähren.

    Format des Ledger ARN:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}
  2. Journal und Tabellen

    Um mit dem Schreiben von Daten in ein QLDB-Ledger zu beginnen, erstellen Sie zunächst eine Tabelle mit einer grundlegendenCREATE TABLE Anweisung. Hauptbuchdaten bestehen aus Überarbeitungen von Dokumenten, die in das Journal des Ledgers aufgenommen wurden. Sie schreiben Änderungen an Dokumenten im Kontext von benutzerdefinierten Tabellen in das Ledger ein. In QLDB stellt eine Tabelle eine materialisierte Ansicht einer Sammlung von Dokumentrevisionen aus dem Journal dar.

    ImSTANDARD Berechtigungsmodus eines Ledgers müssen Sie IAM-Richtlinien erstellen, die Berechtigungen zum Ausführen von PartiQL-Anweisungen auf dieser Tabellenressource gewähren. Mit Berechtigungen für eine Tabellenressource können Sie Anweisungen ausführen, die auf den aktuellen Status der Tabelle zugreifen. Sie können den Revisionsverlauf der Tabelle auch mithilfe der integriertenhistory() Funktion abfragen.

    Format des Tabellen-ARN:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}

    Weitere Informationen zum Erteilen von Berechtigungen für ein Ledger und die zugehörigen Ressourcen finden Sie unterSo funktioniert Amazon QLDB mit IAM.

  3. Dokumente

    Tabellen bestehen aus Revisionen vonQLDB-Dokumente, bei denen es sich um Datensätze im Amazonstruct Ion-Format handelt. Eine Dokumentrevision stellt eine einzelne Version einer Sequenz von Dokumenten dar, die durch eine eindeutige Dokument-ID identifiziert werden.

    QLDB speichert die vollständige Änderungshistorie Ihrer übergebenen Dokumente. Mit einer Tabelle können Sie den aktuellen Status ihrer Dokumente abfragen, während Sie mit derhistory() Funktion den gesamten Revisionsverlauf der Dokumente einer Tabelle abfragen können. Einzelheiten zum Abfragen und Schreiben von Revisionen finden Sie unterArbeiten mit Daten und Historie.

  4. Systemkatalog

    Jedes Ledger bietet auch eine systemdefinierte Katalogressource, die Sie abfragen können, um alle Tabellen und Indizes in einem Ledger aufzulisten. ImSTANDARD Berechtigungsmodus eines Ledgers benötigen Sie dieqldb:PartiQLSelect Berechtigung für diese Katalogressource, um Folgendes zu tun:

    • Führen SieSELECT Anweisungen für die Systemkatalogtabelle information_schema.user_tables aus.

    • Sehen Sie sich Tabellen- und Indexinformationen auf der Ledger-Detailseite der QLDB-Konsole an.

    • Sehen Sie sich die Liste der Tabellen und Indizes im PartiQL-Editor auf der QLDB-Konsole an.

    Format des Katalog-ARN:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/information_schema/user_tables

Transaktionen, bei denen das Journal im Vordergrund steht

Wenn eine Anwendung Daten in einem QLDB-Ledger liest oder schreibt, tut sie dies in einer Datenbanktransaktion. Alle Transaktionen unterliegen den in definierten LimitsKontingente und Limits in Amazon QLDB. Innerhalb einer Transaktion führt QLDB die folgenden Schritte aus:

  1. Lesen Sie den aktuellen Status der Daten aus dem Ledger.

  2. Führen Sie die in der Transaktion angegebenen Anweisungen aus und überprüfen Sie dann mithilfe von Optimistic Concurrency Control (OCC), ob Konflikte vorliegen, um eine vollständig serialisierbare Isolierung sicherzustellen.

  3. Wenn keine OCC-Konflikte gefunden werden, geben Sie die Transaktionsergebnisse wie folgt zurück:

    • Geben Sie für Lesevorgänge die Ergebnismenge zurück und übergeben Sie dieSELECT Anweisungen ausschließlich als Anhängen an das Journal.

    • Übertragen Sie beim Schreiben alle Aktualisierungen, Löschungen oder neu eingefügten Daten ausschließlich durch Anhängen in das Journal.

Das Journal stellt eine vollständige und unveränderliche Historie aller Änderungen an Ihren Daten dar. QLDB schreibt in einer Transaktion einen verketteten Block in das Journal. Jeder Block enthält Eingabeobjekte, die die Dokumentrevisionen darstellen, die Sie einfügen, aktualisieren und löschen, zusammen mit den PartiQL-Anweisungen, durch die sie festgeschrieben wurden.

Das folgende Diagramm veranschaulicht diese Journalstruktur.

Das Amazon QLDB-Journalstrukturdiagramm zeigt eine Reihe von verketteten Blöcken, die einen Strang bilden, sowie die Sequenznummer und den Block-Hash jedes Blocks.

Das Diagramm zeigt, dass Transaktionen in das Journal als Blöcke übergeben werden, die Dokumentrevisionseinträge enthalten. Jeder Block wird gehasht und zur Überprüfung mit den nachfolgenden Blöcken verkettet. Jeder Block verfügt über eine Sequenznummer, um seine Adresse in der Strähne anzugeben.

Anmerkung

In Amazon QLDB ist ein Strang eine Partition des Journals Ihres Ledgers. QLDB unterstützt derzeit nur Zeitschriften mit einem einzigen Strang.

Hinweise zum Dateninhalt in einem Block finden Sie unter Journalinhalte in Amazon QLDB.

Abfrage Ihrer Daten

QLDB ist für Workloads bei der Online-Transaktionsverarbeitung (OLTP) konzipiert. Ein Ledger bietet abfragbare Tabellenansichten Ihrer Daten auf der Grundlage der Transaktionsinformationen, die in das Journal übernommen wurden. Eine Tabellenansicht in QLDB ist eine Teilmenge der Daten in einer Tabelle. Ansichten werden in Echtzeit verwaltet, sodass sie immer verfügbar für abzufragende Anwendungen sind.

Sie können die folgenden systemdefinierten Ansichten mithilfe vonSELECT PartiQL-Anweisungen abfragen:

  • Benutzer — Die letzte aktive Revision nur der Daten, die Sie in die Tabelle geschrieben haben (d. h. der aktuelle Status Ihrer Benutzerdaten). Dies ist die Standardansicht in QLDB.

  • Committed — Die letzte aktive Revision sowohl Ihrer Benutzerdaten als auch der systemgenerierten Metadaten. Dies ist die vollständige systemdefinierte Tabelle, die direkt Ihrer Benutzertabelle entspricht.

Zusätzlich zu diesen abfragbaren Ansichten können Sie den Revisionsverlauf Ihrer Daten mithilfe der integrierten Funktion abfragenVerlaufsfunktion. Die Verlaufsfunktion gibt sowohl Ihre Benutzerdaten als auch die zugehörigen Metadaten im gleichen Schema wie die Committed-Ansicht zurück.

Datenspeicherung

Es gibt zwei Arten von Datenspeicherungsarten in QLDB:

  • Journalspeicher — Der Festplattenspeicher, der vom Journal eines Ledgers belegt wird. Das Journal kann nur angehängt werden (Append-only) und enthält den vollständigen, unveränderlichen und überprüfbaren Verlauf aller Datenänderungen.

  • Indizierter Speicher — Der Festplattenspeicher, der von den Tabellen, Indizes und der indizierten Historie eines Ledgers verwendet wird. Der indizierte Speicher besteht aus für Hochleistungs-Abfragen optimierten Ledgerdaten.

Nachdem Ihre Daten in das Journal übernommen wurden, werden sie in den von Ihnen definierten Tabellen materialisiert. Diese Tabellen sind für schnellere und effizientere Abfragen optimiert. Wenn eine Anwendung die Transaktionsdaten-API zum Lesen von Daten verwendet, greift sie auf die Tabellen und Indizes zu, die in Ihrem indizierten Speicher gespeichert sind.

Modell des QLDB API ARN ARN

QLDB bietet zwei Arten von APIs, mit denen Ihr Anwendungscode interagieren kann:

  • Amazon QLDB — Die QLDB-Ressourcenmanagement-API (auch als Steuerungsebene bekannt). Diese API wird nur für die Verwaltung von Ledger-Ressourcen und für nicht transaktionale Datenoperationen verwendet. Sie können diese Operationen verwenden, um Ledger zu erstellen, zu löschen, zu beschreiben, aufzulisten und zu aktualisieren. Sie können Daten auch kryptografisch überprüfen und Journalblöcke exportieren oder streamen.

  • Amazon QLDB-Sitzung — Die QLDB-Transaktionsdaten-API. Sie können diese API verwenden, um Datentransaktionen in einem Ledger mit PartiQL-Anweisungen auszuführen.

    Wichtig

    Anstatt direkt mit der QLDB Session API zu interagieren, empfehlen wir, den QLDB-Treiber oder die QLDB-Shell zu verwenden, um Datentransaktionen auf einem Ledger auszuführen.

    • Wenn Sie mit einemAWS SDK arbeiten, verwenden Sie den QLDB-Treiber. Der Treiber stellt eine abstrakte Ebene über der QLDB-Sitzungsdaten-API bereit und verwaltet denSendCommand Vorgang für Sie. Für weitere Informationen und eine Liste der unterstützten Programmiersprachen siehe Erste Schritte mit dem Treiber.

    • Wenn Sie mit der arbeitenAWS CLI, verwenden Sie die QLDB-Shell. Die Shell ist eine Befehlszeilenschnittstelle, die den QLDB-Treiber verwendet, um mit einem Ledger zu interagieren. Weitere Informationen finden Sie unter Verwenden der Amazon QLDB-Shell (nur Daten-API).

Weitere Informationen zu diesen APIOperationen finden Sie imAmazon QLDB API-Referenz.

Nächste Schritte

Informationen zur Verwendung eines Ledgers mit Ihren Daten finden Sie in den Beispielen, in denen das Erstellen von Tabellen, das Einfügen von DatenArbeiten mit Daten und Historie in Amazon QLDB und das Ausführen einfacher Abfragen beschrieben wird, und folgen Sie ihnen. In diesem Handbuch wird anhand von Beispieldaten und Abfragebeispielen eingehend erläutert, wie diese Konzepte funktionieren.

Einen schnellen Einstieg mit einem Tutorial zur Beispielanwendung mit der QLDB-Konsole finden Sie unterErste Schritte mit der Amazon QLDB-Konsole.

Eine Liste der Schlüsselbegriffe und Definitionen, die in diesem Abschnitt beschrieben werden, finden Sie unter Amazon QLDB Glossar.