Concepts et terminologie de base d'Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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 et terminologie de base d'Amazon QLDB

Cette section fournit une vue d'ensemble des concepts et de la terminologie de base d'Amazon QLDB, notamment la structure du registre et la façon dont un registre gère les données. En tant que base de données de registre, QLDB se distingue des autres bases de données orientées documents en ce qui concerne les concepts clés suivants.

Modèle d'objet de données QLDB

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

  1. Grand livre

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

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

    Format ARN de transaction :

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

    Pour commencer à écrire des données dans un registre QLDB, vous devez d'abord créer une table avec uneCREATE 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 enregistrez les révisions des documents dans le grand livre dans le contexte de tables définies par l'utilisateur. Dans QLDB, un tableau représente une vue matérialisée d'un ensemble de révisions de documents provenant du journal.

    Dans le modeSTANDARD autorisations d'un registre, vous devez créer des politiques IAM 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 lahistory() fonction intégrée.

    Format ARN de table :

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

    Pour de plus amples informations sur l'octroi d'autorisations sur un registre et ses ressources associées, veuillez consulterComment Amazon QLDB fonctionne avec IAM.

  3. Documents

    Les tableaux se composent de révisions deDocuments QLDB, qui sont des ensembles de donnéesstruct au 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.

    QLDB stocke l'historique complet des modifications de vos documents validés. Une table vous permet de consulter l'état actuel de ses documents, tandis que lahistory() fonction vous permet de consulter l'historique complet des révisions des documents d'une table. Pour plus d'informations sur les requêtes et la rédaction de révisions, consultezUtilisation 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. En modeSTANDARD autorisations d'un registre, vous devez disposer de l'qldb:PartiQLSelectautorisation sur cette ressource de catalogue pour effectuer les opérations suivantes :

    • ExécutezSELECT des instructions dans 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 console QLDB.

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

    Format ARN du catalogue :

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

Transactions destinées à un journal

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

  1. Exécution de l'état actuel des données dans le registre.

  2. Exécutez les instructions fournies dans la transaction, puis recherchez tout conflit à l'aide d'un contrôle de concurrence optimiste (OCC) afin de garantir une isolation entièrement sérialisable.

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

    • Pour les lectures, renvoyez le jeu de résultats etSELECT validez les instructions dans le journal uniquement en annexe.

    • Pour les écritures, validez les mises à jour, les suppressions ou les données nouvellement insérées dans le journal en les 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 diagramme suivant illustre cette structure de journal.

Schéma de structure du journal Amazon QLDB montrant un ensemble de blocs enchaînés qui constituent un brin, ainsi que le numéro de séquence et le hachage de bloc 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 du document. 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 brin.

Note

Dans Amazon QLDB, un brin est une partition du journal de votre registre. QLDB prend actuellement en charge les revues à un seul volet.

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

Exécution de vos données

QLDB est destiné à répondre aux besoins de charge de travail de traitement transactionnel en ligne (OLTP). 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 que les applications puissent les interroger.

Vous pouvez interroger les vues définies par le système suivantes à l'aide d'SELECTinstructions PartiQL :

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

  • Validé : 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 interroger l'historique des révisions de vos données à l'aide de la fonction intégréeFonction 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 grand livre. Le journal est uniquement disponible en annexe 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ées est constitué de données de registre ayant été optimisé pour les requêtes de transaction de transaction.

Une fois vos données 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 l'API de données transactionnelles pour lire des données, elle accède aux tables et aux index stockés dans votre stockage indexé.

Modèle d'API QLDB

QLDB fournit deux types d'API avec lesquelles le code de votre application peut interagir :

  • Amazon QLDB : API de gestion des ressources QLDB (également appelée plan de contrôle). Cette API est utilisée 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, 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.

  • Session Amazon QLDB : API de données transactionnelles QLDB. Vous pouvez utiliser cette API pour exécuter des transactions de données sur un registre à l'aide d'instructions partiQL.

    Important

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

    • Si vous travaillez avec unAWS SDK, utilisez le pilote QLDB. Le pilote fournit une couche d'abstraction de haut niveau au-dessus de l'API de données de session QLDB et gère l'SendCommandopération à votre place. Pour plus d'informations et une liste des langages de programmation pris en charge, consultezDémarrage.

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

Pour de plus amples informations sur ces opérations d'API, veuillez consulterRéférence d'API Amazon QLDB.

Étapes suivantes

Pour savoir comment utiliser un registre avec vos données, consultezUtilisation des données et de l'historique dans 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 comment ces concepts fonctionnent en profondeur, à 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 à l'aide de la console QLDB, consultezMise en route avec la console Amazon QLDB.

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