Concepts fondamentaux et terminologie d'Amazon QLDB - Base de données Amazon Quantum Ledger (AmazonQLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Concepts fondamentaux et terminologie d'Amazon QLDB

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre.

Cette section fournit un aperçu des concepts et de la terminologie de base d'AmazonQLDB, notamment de la structure du registre et de la manière dont un registre gère les données. En tant que base de données de registre, elle QLDB se distingue des autres bases de données orientées document en ce qui concerne les concepts clés suivants.

QLDBmodèle d'objet de données

Le modèle d'objet de données fondamental d'Amazon QLDB est décrit comme suit :

  1. Grand livre

    La première étape consiste à créer un registre, qui est le type de AWS ressource principal dansQLDB. Pour savoir comment créer un registre, consultez la section Prise Étape 1 : Création d'un nouveau registre en main de la console, ouOpérations de base pour Amazon QLDB Ledgers.

    Pour les modes d'STANDARDautorisation ALLOW_ALL et d'autorisation d'un registre, vous créez AWS Identity and Access Management (IAM) des politiques qui accordent des autorisations pour exécuter API des opérations sur cette ressource de registre.

    ARNFormat du registre :

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

    Pour commencer à écrire des données dans un QLDB registre, vous devez d'abord créer un tableau avec une CREATE TABLE instruction de base. Les données du grand livre sont des révisions de documents qui sont enregistrées dans le journal du grand livre. Vous validez les révisions de documents dans le registre dans le contexte de tables définies par l'utilisateur. DansQLDB, un tableau représente une vue matérialisée d'un ensemble de révisions de documents provenant du journal.

    Dans le mode STANDARD autorisations d'un registre, vous devez créer des IAM politiques qui accordent des autorisations pour exécuter des instructions partiQL sur cette ressource de table. Avec des autorisations sur une ressource de table, vous pouvez exécuter des instructions qui accèdent à l'état actuel de la table. Vous pouvez également consulter l'historique des révisions de la table à l'aide de la history() fonction intégrée.

    ARNFormat du tableau :

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

    Pour plus d'informations sur l'octroi d'autorisations sur un registre et ses ressources associées, consultezComment Amazon QLDB travaille avec IAM.

  3. Documents

    Les tables sont constituées de révisions deDocuments QLDB, qui sont des ensembles de données au struct format Amazon Ion. Une révision de document représente une version unique d'une séquence de documents identifiés par un identifiant de document unique.

    QLDBenregistre l'historique complet des modifications de vos documents validés. Une table permet d'interroger l'état actuel de ses documents, tandis que la history() fonction permet d'interroger l'historique complet des révisions des documents d'une table. Pour plus de détails sur l'interrogation et la rédaction de révisions, voirUtilisation des données et de l'historique.

  4. Catalogue de systèmes

    Chaque registre fournit également une ressource de catalogue définie par le système que vous pouvez interroger pour répertorier toutes les tables et tous les index d'un registre. Dans le mode STANDARD autorisations d'un registre, vous devez disposer de l'qldb:PartiQLSelectautorisation sur cette ressource de catalogue pour effectuer les opérations suivantes :

    • Exécutez SELECT des instructions sur la table du catalogue système information_schema.user_tables.

    • Consultez les informations relatives à la table et à l'index sur la page de détails du registre de la QLDBconsole.

    • Consultez la liste des tables et des index dans l'éditeur partiQL de la QLDB console.

    ARNFormat du catalogue :

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

Transactions donnant la priorité au journal

Lorsqu'une application lit ou écrit des données dans un QLDB registre, elle le fait dans le cadre d'une transaction de base de données. Toutes les transactions sont soumises aux limites définies dansQuotas et limites sur Amazon QLDB. Dans le cadre d'une transaction, QLDB effectue les étapes suivantes :

  1. Lisez l'état actuel des données dans le registre.

  2. Exécutez les instructions fournies dans la transaction, puis vérifiez l'absence de conflit à l'aide du contrôle de simultanéité optimiste (OCC) pour garantir une isolation entièrement sérialisable.

  3. Si aucun OCC conflit n'est détecté, renvoyez les résultats de la transaction comme suit :

    • Pour les lectures, renvoyez le jeu de résultats et SELECT validez les instructions dans le journal en ajoutant uniquement.

    • Pour les écritures, validez les mises à jour, les suppressions ou les données nouvellement insérées dans le journal en ajoutant uniquement.

Le journal représente un historique complet et immuable de toutes les modifications apportées à vos données. QLDBécrit un bloc enchaîné dans le journal lors d'une transaction. Chaque bloc contient des objets d'entrée qui représentent les révisions de documents que vous insérez, mettez à jour et supprimez, ainsi que les instructions partiQL qui les ont validées.

Le schéma suivant illustre cette structure de journal.

Schéma de structure du QLDB journal Amazon montrant un ensemble de blocs enchaînés constituant un fil, ainsi que le numéro de séquence et le hachage de chaque bloc.

Le diagramme montre que les transactions sont enregistrées dans le journal sous forme de blocs contenant des entrées de révision de documents. Chaque bloc est haché et enchaîné aux blocs suivants à des fins de vérification. Chaque bloc possède un numéro de séquence pour spécifier son adresse dans le fil.

Note

Sur AmazonQLDB, un fil est une partition du journal de votre grand livre. QLDBprend actuellement en charge les revues à un seul volet.

Pour plus d'informations sur le contenu des données d'un bloc, consultezContenu du journal sur Amazon QLDB.

Interrogation de vos données

QLDBest destiné à répondre aux besoins des charges de travail de traitement des transactions en ligne (OLTP) à hautes performances. Un registre fournit des tableaux interrogeables de vos données en fonction des informations de transaction enregistrées dans le journal. Une vue tabulaire dans QLDB est un sous-ensemble des données d'une table. Les vues sont gérées en temps réel, de sorte qu'elles sont toujours disponibles pour les requêtes des applications.

Vous pouvez interroger les vues définies par le système suivantes à l'aide des instructions partiQL : SELECT

  • Utilisateur : dernière révision active des seules données que vous avez écrites dans le tableau (c'est-à-dire l'état actuel de vos données utilisateur). Il s'agit de l'affichage par défaut dansQLDB.

  • Engagé : dernière révision active de vos données utilisateur et des métadonnées générées par le système. Il s'agit de la table complète définie par le système qui correspond directement à votre table utilisateur.

Outre ces vues interrogeables, vous pouvez consulter l'historique des révisions de vos données à l'aide de la fonction intégrée. Fonction d'historique La fonction d'historique renvoie à la fois vos données utilisateur et les métadonnées associées dans le même schéma que la vue validée.

Stockage de données

Il existe deux types de stockage de données dans QLDB :

  • Stockage du journal : espace disque utilisé par le journal d'un registre. Le journal ne comporte que des ajouts et contient l'historique complet, immuable et vérifiable de toutes les modifications apportées à vos données.

  • Stockage indexé : espace disque utilisé par les tables, les index et l'historique indexé d'un registre. Le stockage indexé est constitué de données de registre optimisées pour les requêtes à hautes performances.

Une fois que vos données ont été validées dans le journal, elles sont matérialisées dans les tables que vous avez définies. Ces tables sont optimisées pour des requêtes plus rapides et plus efficaces. Lorsqu'une application utilise les données transactionnelles API pour lire des données, elle accède aux tables et aux index stockés dans votre stockage indexé.

QLDBAPImodèle

QLDBfournit deux types avec lesquels APIs le code de votre application peut interagir :

  • Amazon QLDB — La gestion QLDB des ressources API (également connue sous le nom de plan de contrôle). Ceci API est utilisé uniquement pour gérer les ressources du registre et pour les opérations de données non transactionnelles. Vous pouvez utiliser ces opérations pour créer, supprimer, décrire, répertorier et mettre à jour des registres. Vous pouvez également vérifier les données de manière cryptographique et exporter ou diffuser des blocs de journal.

  • Amazon QLDB Session — Les données QLDB API transactionnelles. Vous pouvez l'utiliser API pour exécuter des transactions de données sur un registre avec des instructions PartiQL.

    Important

    Au lieu d'interagir directement avec la QLDBsessionAPI, nous vous recommandons d'utiliser le QLDB pilote ou le QLDB shell pour exécuter des transactions de données sur un registre.

    • Si vous travaillez avec un AWS SDK, utilisez le QLDB pilote. Le pilote fournit une couche d'abstraction de haut niveau au-dessus des données de QLDBsession API et gère l'SendCommandopération pour vous. Pour plus d'informations et une liste des langages de programmation pris en charge, consultezCommencer à utiliser le chauffeur.

    • Si vous travaillez avec le AWS CLI, utilisez le QLDB shell. Le shell est une interface de ligne de commande qui utilise le QLDB pilote pour interagir avec un registre. Pour plus d’informations, veuillez consulter Utilisation du QLDB shell Amazon (données API uniquement).

Pour plus d'informations sur ces API opérations, consultez leQLDBAPIRéférence Amazon.

Étapes suivantes

Pour savoir comment utiliser un registre avec vos données, consultez Utilisation des données et de l'historique sur Amazon QLDB et suivez les exemples qui décrivent le processus de création de tables, d'insertion de données et d'exécution de requêtes de base. Ce guide explique en profondeur le fonctionnement de ces concepts, à l'aide d'exemples de données et d'exemples de requêtes pour le contexte.

Pour démarrer rapidement avec un exemple de didacticiel d'application utilisant la QLDB console, voirCommencer à utiliser la QLDB console Amazon.

Pour obtenir la liste des principaux termes et définitions décrits dans cette section, consultez leQLDBGlossaire Amazon.