Capture des modifications de graphe en temps réel à l'aide des flux Neptune - Amazon Neptune

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.

Capture des modifications de graphe en temps réel à l'aide des flux Neptune

Neptune Streams journalise toutes les modifications apportées à votre graphe au fur et à mesure qu'elles sont appliquées, dans l'ordre dans lequel elles sont effectuées, de manière entièrement gérée. Une fois que Streams est activé, Neptune s'occupe de la disponibilité, de la sauvegarde, de la sécurité et de l'expiration des données.

Note

Cette fonctionnalité était disponible en mode laboratoire à partir de la Version 1.0.1.0.200463.0 (15/10/2019), et est disponible pour une utilisation en production à partir de la version 1.0.2.2.R2 du moteur Neptune.

Voici quelques-uns des nombreux cas d'utilisation dans lesquels vous pouvez capturer les modifications apportées à un graphe au fur et à mesure de leur application :

  • Vous pouvez souhaiter que votre application informe automatiquement les personnes concernées lorsque certaines modifications sont apportées.

  • Vous souhaiterez peut-être également conserver une version actuelle de vos données graphiques dans un autre magasin de données, tel qu'Amazon OpenSearch Service ElastiCache, Amazon ou Amazon Simple Storage Service (Amazon S3).

Neptune utilise le même stockage natif pour le flux de journaux des modifications que pour les données de graphe. Il écrit les entrées de journal des modifications de façon synchronisée avec la transaction qui effectue ces modifications. Vous récupérez ces enregistrements de modification à partir du flux de journaux à l'aide d'une API REST HTTP. (Pour de plus amples informations, veuillez consulter Appel de l'API Streams.)

Le schéma suivant montre comment les données des journaux de modifications peuvent être récupérées à partir de Neptune Streams.

Schéma montrant comment les données des journaux des modifications peuvent être récupérées à partir d'instances d'enregistreur et de réplicas en lecture.
Garanties des flux Neptune
  • Les modifications apportées par une transaction sont immédiatement disponibles en lecture auprès de l'enregistreur et des lecteurs dès que la transaction est terminée (en l'absence de retard de réplication normal au niveau des lecteurs).

  • Les enregistrements de modification apparaissent strictement séquentiellement, dans l'ordre dans lequel ils se sont produits (cela inclut les modifications apportées au sein d'une transaction).

  • Les flux de modifications ne contiennent aucun doublon. Chaque modification n'est consignée qu'une seule fois.

  • Les flux de modifications sont arrivés au terme de leur exécution. Aucune modification n'est perdue ou omise.

  • Les flux de modifications contiennent toutes les informations nécessaires pour déterminer l'état complet de la base de données elle-même à tout moment, à condition que l'état de départ soit connu.

  • La fonction Streams peut être activée ou désactivée à tout moment.

Propriétés opérationnelles des flux Neptune
  • Le flux de journaux des modifications est entièrement géré.

  • Les données du journal des modifications sont écrites de manière synchrone par rapport à la transaction qui effectue une modification.

  • Lorsque la fonctionnalité Neptune Streams est activée, des frais d'E/S et de stockage associés aux données des journaux de modifications vous sont facturés.

  • Par défaut, les enregistrements de modifications sont purgés automatiquement une semaine après leur création. À partir de la version 1.2.0.0 du moteur, cette période de rétention peut être remplacée à l'aide du paramètre de cluster de bases de données neptune_streams_expiry_days par un nombre quelconque de jours compris entre 1 et 90.

  • Les performances de lecture sur les flux évoluent avec les instances.

  • Vous pouvez obtenir une haute disponibilité et un débit de lecture élevé à l'aide des réplicas en lecture. Il n'y a pas de limite au nombre de lecteurs de flux que vous pouvez créer et utiliser simultanément.

  • Les données des journaux des modifications sont répliquées sur plusieurs zones de disponibilité, ce qui les rend hautement durables.

  • Les données de journal sont aussi sécurisées que vos données de graphe. Elles peuvent être chiffrées au repos et en transit. L'accès peut être contrôlé à l'aide d'IAM, d'Amazon VPC AWS Key Management Service et AWS KMS(). Comme les données du graphe, elles peuvent être sauvegardées puis restaurées à l'aide de point-in-time restaurations (PITR).

  • L'écriture synchrone des données de flux dans le cadre de chaque transaction entraîne une légère dégradation des performances d'écriture globales.

  • Les données de flux ne sont pas partitionnées, car Neptune ne comporte qu'une seule partition, de par sa conception.

  • L'API GetRecords du flux de journaux utilise les mêmes ressources que toutes les autres opérations de graphe Neptune. Cela signifie que les clients doivent équilibrer la charge entre les demandes de flux et les autres demandes de la base de données.

  • Lorsque la fonction Streams est désactivée, toutes les données des journaux deviennent immédiatement inaccessibles. Cela signifie que vous devez lire toutes les données de journaux qui vous intéressent avant de désactiver la journalisation.

  • Il n'existe actuellement aucune intégration native avec AWS Lambda. Le flux de journaux ne génère pas d'événement qui puisse déclencher une fonction Lambda.