Diffusion en continu de données de journaux depuis 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.

Diffusion en continu de données de journaux depuis 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.

Amazon QLDB utilise un journal transactionnel immuable, appelé journal, pour le stockage des données. Le journal suit chaque modification apportée à vos données enregistrées et conserve un historique complet et vérifiable des modifications au fil du temps.

Vous pouvez créer un flux QLDB qui capture chaque révision de document enregistrée dans votre journal et transmet ces données à Amazon Kinesis Data Streams en temps quasi réel. Un QLDB flux est un flux continu de données entre le journal de votre registre et une ressource de flux de données Kinesis.

Vous utilisez ensuite la plateforme de streaming Kinesis ou la bibliothèque cliente Kinesis pour utiliser votre flux, traiter les enregistrements de données et analyser le contenu des données. Un QLDB flux écrit vos données dans Kinesis Data Streams sous trois types d'enregistrements : contrôle, résumé des blocs et détails de révision. Pour plus d’informations, consultez QLDBdiffuser des enregistrements dans Kinesis.

Cas d’utilisation courants

Le streaming vous permet de l'utiliser QLDB comme source fiable unique et vérifiable tout en intégrant les données de votre journal à d'autres services. Voici quelques-uns des cas d'utilisation courants pris en charge par les flux de QLDB journaux :

  • Architecture axée sur les événements : créez des applications dans un style architectural axé sur les événements avec des composants découplés. Par exemple, une banque peut utiliser des AWS Lambda fonctions pour mettre en œuvre un système de notification qui alerte les clients lorsque le solde de leur compte tombe en dessous d'un seuil. Dans un tel système, les soldes des comptes sont conservés dans un QLDB registre, et tout changement de solde est enregistré dans le journal. La AWS Lambda fonction peut déclencher la logique de notification lors de la consommation d'un événement de mise à jour du solde qui est enregistré dans le journal et envoyé à un flux de données Kinesis.

  • Analyses en temps réel : créez des applications grand public Kinesis qui exécutent des analyses en temps réel sur les données des événements. Grâce à cette fonctionnalité, vous pouvez obtenir des informations en temps quasi réel et réagir rapidement à l'évolution de l'environnement commercial. Par exemple, un site Web de commerce électronique peut analyser les données de vente de produits et arrêter les publicités pour un produit à prix réduit dès que les ventes atteignent une limite.

  • Analyses historiques — Tirez parti de l'architecture orientée journal d'Amazon QLDB en rediffusant les données historiques des événements. Vous pouvez choisir de démarrer un QLDB flux à n'importe quel moment dans le passé, dans lequel toutes les révisions effectuées depuis lors sont transmises à Kinesis Data Streams. Grâce à cette fonctionnalité, vous pouvez créer des applications grand public Kinesis qui exécutent des tâches d'analyse sur des données historiques. Par exemple, un site Web de commerce électronique peut exécuter des analyses selon les besoins pour générer des statistiques de ventes passées qui n'avaient pas été capturées auparavant.

  • Réplication vers des bases de données spécialement conçues : connectez les QLDB registres à d'autres magasins de données spécialement conçus à l'aide de flux de journaux. QLDB Par exemple, utilisez la plateforme de données de streaming Kinesis pour intégrer Amazon OpenSearch Service, qui peut fournir des fonctionnalités de recherche en texte intégral pour les QLDB documents. Vous pouvez également créer des applications Kinesis personnalisées pour répliquer les données de votre journal dans d'autres bases de données spécialement conçues qui fournissent différentes vues matérialisées. Répliquez, par exemple, vers Amazon Aurora pour les données relationnelles ou vers Amazon Neptune pour les données basées sur des graphes.

Consommation de votre stream

Utilisez Kinesis Data Streams pour consommer, traiter et analyser en continu de grands flux d'enregistrements de données. Outre Kinesis Data Streams, la plateforme de données de streaming Kinesis inclut Amazon Data Firehose et Amazon Managed Service pour Apache Flink. Vous pouvez utiliser cette plate-forme pour envoyer des enregistrements de données directement à des services tels qu'Amazon OpenSearch Service, Amazon Redshift, Amazon S3 ou Splunk. Pour plus d'informations, consultez la section destinée aux utilisateurs de Kinesis Data Streams dans le manuel Amazon Kinesis Data Streams Developer Guide.

Vous pouvez également utiliser la bibliothèque client Kinesis (KCL) pour créer une application client de streaming afin de traiter les enregistrements de données de manière personnalisée. KCLCela simplifie le codage en fournissant des abstractions utiles au-dessus des Kinesis Data Streams de bas niveau. API Pour en savoir plusKCL, consultez la section Utilisation de la bibliothèque cliente Kinesis dans le guide du développeur Amazon Kinesis Data Streams.

Garantie de livraison

QLDBles streams fournissent une garantie at-least-oncede livraison. Chaque enregistrement de données produit par un QLDB flux est transmis à Kinesis Data Streams au moins une fois. Les mêmes enregistrements peuvent apparaître plusieurs fois dans un flux de données Kinesis. Vous devez donc disposer d'une logique de déduplication dans la couche d'application grand public si votre cas d'utilisation l'exige.

Il n'y a pas non plus de garantie de commande. Dans certains cas, des QLDB blocs et des révisions peuvent être produits dans un flux de données Kinesis de manière désordonnée. Pour plus d’informations, consultez Gestion des doublons et out-of-order des enregistrements.

Considérations relatives au délai de livraison

QLDBles streams fournissent généralement des mises à jour de Kinesis Data Streams en temps quasi réel. Toutefois, les scénarios suivants peuvent créer une latence supplémentaire avant que les QLDB données nouvellement validées ne soient émises vers un flux de données Kinesis :

  • Kinesis peut limiter les données diffusées depuisQLDB, en fonction de votre approvisionnement en Kinesis Data Streams. Par exemple, cela peut se produire si plusieurs QLDB flux écrivent dans un seul flux de données Kinesis et que le taux de demandes QLDB dépasse la capacité de la ressource de flux Kinesis. La limitation dans Kinesis peut également se produire lors de l'utilisation du provisionnement à la demande si le débit augmente pour atteindre plus du double du pic précédent en moins de 15 minutes.

    Vous pouvez mesurer ce débit dépassé en surveillant la métrique WriteProvisionedThroughputExceeded Kinesis. Pour plus d'informations et des solutions possibles, consultez Comment résoudre les erreurs de régulation dans Kinesis Data Streams ? .

  • Avec QLDB les flux, vous pouvez créer un flux indéfini dont la date et l'heure de début sont anciennes et sans date ni heure de fin. De par sa conception, il ne QLDB commence à émettre des données nouvellement validées vers Kinesis Data Streams qu'une fois que toutes les données antérieures à la date et à l'heure de début spécifiées ont été transmises avec succès. Si vous constatez une latence supplémentaire dans ce scénario, vous devrez peut-être attendre que les données précédentes soient livrées, ou vous pouvez démarrer le flux à une date et une heure de début ultérieures.

Commencer à utiliser les streams

Vous trouverez ci-dessous une présentation détaillée des étapes nécessaires pour commencer à diffuser des données de journal vers Kinesis Data Streams :

  1. Créez une ressource Kinesis Data Streams. Pour obtenir des instructions, consultez la section Création et mise à jour de flux de données dans le manuel Amazon Kinesis Data Streams Developer Guide.

  2. Créez un IAM rôle qui permet d'QLDBassumer des autorisations d'écriture pour le flux de données Kinesis. Pour obtenir des instructions, veuillez consulter Autorisations de diffusion dans QLDB.

  3. Créez un flux de QLDB journal. Pour obtenir des instructions, veuillez consulter Création et gestion de flux dans QLDB.

  4. Consommez le flux de données Kinesis, comme décrit dans la section précédente. Consommation de votre stream Pour des exemples de code illustrant l'utilisation de la bibliothèque cliente Kinesis AWS Lambda, voir. Développement avec des flux dans QLDB