Présentation 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.

Présentation 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.

Les sections suivantes fournissent une présentation détaillée des composants des QLDB services Amazon et de leur mode d'interaction.

Journal d'abord

Dans l'architecture de base de données traditionnelle, vous écrivez généralement des données dans des tables dans le cadre d'une transaction. Un journal des transactions, généralement une implémentation interne, enregistre toutes les transactions et les modifications apportées à la base de données. Le journal des transactions est un composant essentiel de la base de données. Vous avez besoin du journal pour rejouer les transactions en cas de panne du système, de reprise après sinistre ou de réplication de données. Cependant, les journaux de transactions des bases de données ne sont pas immuables et ne sont pas conçus pour fournir un accès direct et facile aux utilisateurs.

Sur AmazonQLDB, le journal est au cœur de la base de données. Structurellement similaire à un journal des transactions, le journal est une structure de données immuable avec ajout uniquement qui stocke les données de votre application ainsi que les métadonnées associées. Toutes les transactions d'écriture, y compris les mises à jour et les suppressions, sont d'abord enregistrées dans le journal.

QLDButilise le journal pour déterminer l'état actuel de vos données comptables en les matérialisant sous forme de tables interrogeables définies par l'utilisateur. Ces tableaux fournissent également un historique accessible de toutes les données de transaction, y compris les révisions des documents et les métadonnées. En outre, le journal gère la simultanéité, le séquençage, la vérification cryptographique et la disponibilité des données du registre.

Le schéma suivant illustre l'architecture de la QLDB revue.

Schéma intitulé QLDB : le journal est la base de données, montrant l'architecture du journal, avec une application qui se connecte à un registre et valide les transactions dans le journal, qui sont matérialisées sous forme de tables.
  • Dans cet exemple, une application se connecte à un registre et exécute des transactions qui insèrent, mettent à jour et suppriment un document dans une table nomméecars.

  • Les données sont d'abord écrites dans le journal dans un ordre séquentiel.

  • Les données sont ensuite matérialisées dans le tableau avec des vues intégrées. Ces vues vous permettent de consulter à la fois l'état actuel et l'historique complet de la voiture, un numéro de version étant attribué à chaque révision.

  • Vous pouvez également exporter ou diffuser des données directement depuis le journal.

Immuable

Comme le QLDB journal ne comporte que des ajouts, il conserve un enregistrement complet de toutes les modifications apportées à vos données qui ne peuvent être ni modifiées ni remplacées. Il n'existe aucune méthode APIs ou aucune autre pour modifier les données validées en place. Cette structure de journal vous permet d'accéder à l'historique complet de votre registre et de le consulter.

Note

La seule exception à l'immuabilité prise QLDB en charge est la rédaction de données. Grâce à cette fonctionnalité, vous pouvez vous conformer aux lois réglementaires telles que le règlement général sur la protection des données (GDPR) de l'Union européenne et la loi californienne sur la protection de la vie privée des consommateurs (CCPA).

QLDBpropose une opération de rédaction qui vous permet de supprimer définitivement les révisions de document inactives dans l'historique d'un tableau. Cette opération supprime uniquement les données utilisateur dans la révision spécifiée et laisse inchangées la séquence du journal et les métadonnées du document. Cela permet de préserver l'intégrité globale des données de votre registre. Pour plus d’informations, consultez Rédaction de révisions de documents.

QLDBécrit un bloc dans le journal lors d'une transaction. Chaque bloc contient des objets d'entrée qui représentent les documents que vous insérez, mettez à jour et supprimez, ainsi que les instructions que vous avez exécutées pour les valider. Ces blocs sont séquencés et hachés pour garantir l'intégrité des données.

Le schéma suivant illustre cette structure de journal.

Les enregistrements intitulés dans le diagramme ne peuvent pas être modifiés. Ils indiquent la structure immuable du journal avec ajout uniquement, ainsi que le numéro de séquence de chaque bloc de journal enchaîné par hachage. QLDB

Le diagramme montre que les transactions sont enregistrées dans le journal sous forme de blocs qui sont hachés à des fins de vérification. Chaque bloc possède un numéro de séquence pour indiquer son adresse.

Vérifiable cryptographiquement

Les blocs de journal sont séquencés et enchaînés à l'aide de techniques de hachage cryptographique, similaires aux chaînes de blocs. QLDButilise la chaîne de hachage du journal pour garantir l'intégrité des données transactionnelles à l'aide d'une méthode de vérification cryptographique. À l'aide d'un résumé (une valeur de hachage qui représente la chaîne de hachage complète d'un journal à un moment donné) et d'une preuve d'audit Merkle (un mécanisme qui prouve la validité de n'importe quel nœud dans un arbre de hachage binaire), vous pouvez vérifier qu'aucune modification involontaire n'a été apportée à vos données à tout moment.

Le schéma suivant montre un résumé qui couvre la chaîne de hachage complète d'un journal à un moment donné.

Schéma intitulé hash chaining using SHA -256, montrant un condensé couvrant la chaîne de hachage complète d'un journal, avec la structure d'un bloc de journal contenant des entrées représentant des documents Ion, des instructions PartiQL et des métadonnées.

Dans ce diagramme, les blocs du journal sont hachés à l'aide de la fonction de hachage cryptographique SHA -256 et sont enchaînés séquentiellement aux blocs suivants. Chaque bloc contient des entrées qui incluent vos documents de données, vos métadonnées et les instructions partiQL exécutées dans le cadre de la transaction.

Pour plus d’informations, consultez Vérification des données sur Amazon QLDB.

SQLsimilaire et flexible en termes de documents

QLDButilise partiQL comme langage de requête et Amazon Ion comme modèle de données orienté document. partiQL est un langage de requête open source SQL compatible qui a été étendu pour fonctionner avec Ion. Avec partiQL, vous pouvez insérer, interroger et gérer vos données à l'aide d'opérateurs familiersSQL. Lorsque vous interrogez des documents plats, la syntaxe est identique à celle utilisée SQL pour interroger des tables relationnelles. Pour en savoir plus sur l'QLDBimplémentation de partiQL, consultez le. Référence Amazon QLDB PartiQL

Amazon Ion est un sur-ensemble de. JSON Ion est un format de données open source basé sur des documents qui vous donne la flexibilité de stocker et de traiter des données structurées, semi-structurées et imbriquées. Pour en savoir plus sur l'ion inQLDB, consultez leRéférence du format de données Amazon Ion dans Amazon QLDB.

Pour une comparaison détaillée des principaux composants et fonctionnalités des bases de données relationnelles traditionnelles par rapport à ceux des bases de données relationnellesQLDB, voirDu relationnel au registre.

Outils de développement open source

Pour simplifier le développement d'applications, QLDB fournit des pilotes open source dans différents langages de programmation. Vous pouvez utiliser ces pilotes pour interagir avec les données transactionnelles API en exécutant des instructions partiQL sur un registre et en traitant les résultats de ces instructions. Pour obtenir des informations et des didacticiels sur les langues des pilotes actuellement prises en charge, consultezCommencer à utiliser le QLDB pilote Amazon.

Amazon Ion fournit également des bibliothèques clientes qui traitent les données Ion pour vous. Pour obtenir des guides destinés aux développeurs et des exemples de code relatifs au traitement des données ioniques, consultez la documentation Amazon Ion sur GitHub.

Sans serveur et haute disponibilité

QLDBest entièrement géré, sans serveur et hautement disponible. Le service évolue automatiquement pour répondre aux exigences de votre application, et vous n'avez pas besoin de fournir des instances ou de la capacité. Plusieurs copies de vos données sont répliquées au sein d'une zone de disponibilité et entre les zones de disponibilité d'un Région AWS.

Grade d'entreprise

QLDBles transactions sont entièrement conformes aux propriétés d'atomicité, de cohérence, d'isolation et de durabilité (ACID). QLDButilise un contrôle de simultanéité optimiste (OCC), et les transactions fonctionnent avec une sérialisation complète, le plus haut niveau d'isolation. Cela signifie qu'il n'y a aucun risque de lecture fantôme, de lecture incorrecte, de distorsion d'écriture ou d'autres problèmes de simultanéité similaires. Pour plus d’informations, consultez Modèle de QLDB simultanéité Amazon.