View a markdown version of this page

Stockage - 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.

Stockage

Les données Neptune sont stockées dans un volume de cluster, qui est un volume virtuel unique qui utilise des disques Non-Volatile Memory Express (NVMe). SSD-based Le volume du cluster se compose d'un ensemble de blocs logiques, appelés segments. Chacun de ces segments se voit attribuer 10 gigaoctets (Go) de stockage. Les données de chaque segment sont répliquées sur trois zones de disponibilité (AZ) dans une seule AWS région où réside le cluster de base de données.

Lorsqu'un cluster de bases de données Neptune est créé, un seul segment de 10 Go lui est alloué. Lorsque le volume de données augmente et dépasse le stockage actuellement alloué, Neptune augmente automatiquement le volume du cluster en ajoutant de nouveaux segments. Un volume de cluster Neptune peut atteindre une taille maximale de 128 tebioctets (TiB) dans toutes les régions prises en charge, à l'exception des régions de Chine et AWS GovCloud des États-Unis, où il est limité à 64 TiB.

Le volume du cluster de base de données contient toutes vos données utilisateur, index et dictionnaires (décrits dans la Modèle de données de graphe de Neptune section), ainsi que des métadonnées internes telles que les journaux de transactions internes. Toutes ces données de graphe, y compris les indicateurs et les journaux internes, ne peuvent pas dépasser la taille maximale du volume de cluster.

I/O—Option de stockage optimisée

Neptune propose deux modèles de tarification pour le stockage :

  • Stockage standard : le stockage standard fournit un stockage de base de données économique pour les applications dont l' I/O utilisation est modérée à faible.

  • I/O—Stockage optimisé — Avec I/O —Stockage optimisé, vous ne payez que pour le stockage que vous utilisez, à un coût supérieur à celui du stockage standard, et vous ne payez rien pour I/O ce que vous utilisez.

    Grâce au I/O stockage optimisé, vous bénéficiez de coûts prévisibles, d'une faible I/O latence et d'un I/O débit constant pour les charges de travail graphiques I/O intensives.

    Pour plus d'informations, voir I/O—Stockage optimisé.

Allocation du stockage Neptune

Même si le volume d'un cluster Neptune peut atteindre 128 TiB (ou 64 TiB dans certaines régions), l'espace alloué vous est facturé. L'espace total alloué est déterminé par la limite supérieure, qui est la quantité maximale allouée au volume du cluster à tout moment au cours de son existence.

Cela signifie que même si vous supprimez des données utilisateur d'un volume de cluster, par exemple en exécutant une requête de suppressiong.V().drop(), l'espace total alloué reste le même. Neptune optimise automatiquement l'espace alloué inutilisé pour pouvoir le réutiliser ultérieurement.

Outre les données utilisateur, les données du dictionnaire et les journaux de transactions internes consomment également de l'espace de stockage. Les données du dictionnaire sont conservées même après la suppression des données graphiques prises en charge, mais Neptune peut réutiliser ces entrées si vous les introduisez à nouveau. Pour nettoyer les entrées de dictionnaire non utilisées, vous pouvez activerDictionnaire de collecte des déchets. Les journaux internes utilisent un espace de stockage séparé doté de son propre point culminant. Les journaux expirés ne sont réutilisés que pour les autres journaux, et non pour les données graphiques. L'espace alloué aux journaux est inclus dans le total indiqué par la VolumeBytesUsed CloudWatchmétrique.

Consultez Bonnes pratiques de stockage pour déterminer comment réduire au minimum l'espace de stockage alloué et réutiliser l'espace.

Facturation du stockage Neptune

Les frais de stockage sont facturés en fonction du point culminant du stockage, comme décrit dans la section précédente. Amazon Neptune réplique vos données dans plusieurs zones de disponibilité, mais vous ne payez que pour une seule copie des données.

Vous pouvez déterminer le seuil de stockage actuel de votre cluster de base de données en surveillant la VolumeBytesUsed CloudWatch métrique (voirSurveillance de Neptune à l'aide d'Amazon CloudWatch).

Parmi les autres facteurs susceptibles d'affecter vos coûts de stockage Neptune, citons les instantanés de base de données et les sauvegardes, qui sont facturés séparément en tant que stockage de sauvegarde et basés sur les coûts de stockage de Neptune (voir). CloudWatch métriques utiles pour gérer le stockage de sauvegarde Neptune

Toutefois, si vous créez un clone de votre base de données, celui-ci pointe vers le même volume de cluster que celui utilisé par votre cluster de bases de données lui-même. Vous n'encourez donc pas de frais de stockage supplémentaires pour les données d'origine. Les modifications ultérieures apportées au clone utilisent le protocole de copie sur écriture et entraînent des coûts de stockage supplémentaires.

Pour plus d'informations sur les tarifs de Neptune, consultez les tarifs d'Amazon Neptune sur le site Web. AWS

Bonnes pratiques de stockage Neptune

Étant donné que certains types de données nécessitent un stockage permanent dans Neptune, appliquez les bonnes pratiques suivantes pour éviter des pics importants de croissance du stockage :

  • Lorsque vous concevez votre modèle de données de graphe, évitez autant que possible d'utiliser des clés de propriété et des valeurs destinées à l'utilisateur qui sont de nature temporaire.

  • Si vous prévoyez d'apporter des modifications à votre modèle de données, ne chargez pas de données sur un cluster de bases de données existant à l'aide du nouveau modèle tant que vous n'avez pas effacé les données de ce cluster de bases de données à l'aide de l'API de réinitialisation rapide. Il est souvent préférable de charger les données utilisant un nouveau modèle sur un nouveau cluster de bases de données.

  • Les transactions qui gèrent de grandes quantités de données génèrent des journaux internes d'une taille correspondante, ce qui contribue à augmenter de façon permanente la limite supérieure d'espace des journaux internes. Par exemple, une seule transaction qui supprime toutes les données de votre cluster de base de données peut générer un journal interne volumineux. Ce journal nécessite l'allocation d'une grande quantité de stockage interne, ce qui réduit de façon permanente l'espace disponible pour les données graphiques.

    Pour éviter cela, divisez les transactions volumineuses en transactions de plus petite taille et laissez du temps s'écouler entre elles afin que les journaux internes associés aient une chance d'expirer et de libérer leur espace de stockage interne afin qu'il puisse être réutilisé par les journaux suivants.

  • Pour surveiller la croissance du volume de votre cluster Neptune, vous pouvez définir une CloudWatch alarme sur la VolumeBytesUsed CloudWatch métrique. Cela peut s'avérer particulièrement utile si vos données atteignent la taille maximale du volume de cluster. Pour plus d'informations, consultez la section Utilisation des CloudWatch alarmes Amazon.

Si votre cluster de base de données dispose d'une grande quantité d'espace alloué inutilisé, vous pouvez réduire son espace de stockage. Pour ce faire, exportez toutes les données de votre graphique, puis rechargez-le dans un nouveau cluster de bases de données. Consultez le service et l'utilitaire d'exportation de données Neptune pour exporter facilement des données depuis un cluster de bases de données, et le chargeur en vrac Neptune pour réimporter facilement des données dans Neptune.

Note

La création et la restauration d'un instantané ne réduisent pas la quantité de stockage allouée au cluster de bases de données, car un instantané conserve l'image d'origine du stockage sous-jacent du cluster. Si une quantité substantielle du stockage alloué n'est pas utilisée, la seule façon de la réduire la quantité de stockage alloué est d'exporter toutes les données de votre graphe, puis de les recharger dans un nouveau cluster de bases de données.

Fiabilité et haute disponibilité du stockage Neptune

Amazon Neptune est conçu pour être fiable, durable et tolérant aux pannes.

Comme les copies de vos données Neptune sont conservées dans trois zones de disponibilité (AZ), le stockage des données est extrêmement durable et le risque de perte de données est très faible. Amazon Neptune réplique les données automatiquement dans les zones de disponibilité, qu'elles contiennent ou non des instances de base de données. Le volume de la réplication est indépendant du nombre d’instances DB de votre cluster.

Vous pouvez donc ajouter rapidement un réplica en lecture, car Neptune ne fait pas de nouvelle copie des données du graphe. Au lieu de cela, le réplica en lecture se connecte au volume partagé qui contient déjà toutes les données. De même, la suppression d'un réplica en lecture ne supprime aucune des données sous-jacentes.

Vous ne pouvez supprimer le volume du cluster et ses données qu'après avoir supprimé toutes ses instances de base de données.

De plus, Neptune détecte automatiquement les défaillances au niveau des segments qui composent le volume du cluster. Lorsqu'une copie des données d'un segment est corrompue, Neptune répare immédiatement ce segment en utilisant d'autres copies des données au sein du même segment pour s'assurer que les données réparées sont à jour. Neptune évite ainsi les pertes de données et réduit le besoin d'effectuer une restauration ponctuelle pour récupérer après une panne de disque.