Stockage, fiabilité et disponibilité d'Amazon 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.

Stockage, fiabilité et disponibilité d'Amazon Neptune

Amazon Neptune utilise une architecture de stockage distribuée et partagée qui évolue automatiquement à mesure que les besoins de stockage de vos bases de données augmentent.

Les données Neptune sont stockées dans un volume de cluster, qui est un seul volume virtuel et utilise les disques SSD NVMe. Le volume de cluster se compose d'un ensemble de blocs logiques appelés segments. Chacun de ces segments dispose de 10 gigaoctets (Go) de stockage. Les données de chaque segment sont répliquées en six copies, qui sont ensuite réparties dans trois zones de disponibilité (AZ) duAWSLa 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é. À mesure que 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 croître jusqu'à la taille maximale de 128 tébioctets (Tio) dans toutes les régions prises en charge, à l'exception de la Chine et GovCloud, où il est limité à 64 TiB. Pour les versions du moteur antérieures àVersion : 1.0.2.2 (09/03/2020), toutefois, la taille des volumes de cluster est limitée à 64 TiB toutes les régions.

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

Allocation de stockage Neptune

Même si un volume de cluster Neptune peut atteindre 128 TiB (ou 64 TiB dans certaines régions), vous n'êtes facturé que pour l'espace réellement alloué. L'espace total alloué est déterminé par le stockagemarque des hautes eaux, qui est la quantité maximale allouée au volume de cluster à tout moment de son existence.

Cela signifie que même si les données utilisateur sont supprimées d'un volume de cluster, par exemple par une requête de dépôt telle queg.V().drop(), l'espace total alloué reste le même. Neptune optimise automatiquement l'espace alloué non utilisé pour une réutilisation future.

Outre les données utilisateur, deux types de contenu supplémentaires consomment de l'espace de stockage interne, à savoir les données du dictionnaire et les journaux de transactions internes. Bien que les données du dictionnaire soient stockées avec les données graphiques, elles persistent indéfiniment, même lorsque les données graphiques qu'il prend en charge ont été supprimées, ce qui signifie que les entrées peuvent être réutilisées si des données sont réintroduites. Les données du journal interne sont stockées dans un espace de stockage interne distinct qui possède son propre seuil supérieur. Lorsqu'un journal interne arrive à expiration, l'espace de stockage qu'il occupait peut être réutilisé pour d'autres journaux, mais pas pour les données graphiques. La quantité d'espace interne allouée aux journaux est incluse dans l'espace total indiqué par leVolumeBytesUsed CloudWatch métrique.

VérifiezBonnes pratiques de stockagepour savoir comment réduire au minimum l'espace de stockage alloué et réutiliser l'espace.

Facturation de stockage Neptune

Les frais de stockage sont facturés en fonction du stockagemarque des hautes eaux, comme décrit plus haut. Bien que vos données soient répliquées en six copies, une seule copie des données vous est facturée.

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

Parmi les autres facteurs qui peuvent 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 sont basés sur les coûts de stockage Neptune (voirCloudWatchmesures utiles pour gérer le stockage de sauvegarde Neptune.

Si vous créez unclonede votre base de données, cependant, le clone pointe vers le même volume de cluster que celui utilisé par votre cluster de base de données lui-même, de sorte qu'il n'y a aucun frais de stockage supplémentaire pour les données d'origine. Les modifications ultérieures apportées au clone utilisentcopy-on-write protocole, et entraînent des coûts de stockage supplémentaires.

Pour de plus amples informations sur la tarification de Neptune, consultezTarification Amazon Neptune.

Bonnes pratiques de stockage Neptune

Étant donné que certains types de données consomment du stockage permanent dans Neptune, appliquez les meilleures pratiques suivantes pour éviter les pics de croissance du stockage :

  • Lors de la conception de votre modèle de données graphiques, é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 base de données existant à l'aide du nouveau modèle tant que vous n'avez pas effacé les données de ce cluster de base de données à l'aide duAPI de réinitialisation. Le mieux est souvent de charger des données qui utilisent un nouveau modèle sur un nouveau cluster de bases de données.

  • Les transactions qui fonctionnent sur de grandes quantités de données génèrent des journaux internes de taille correspondante, ce qui peut augmenter de façon permanente la limite supérieure de l'espace journal interne. Par exemple, une seule transaction qui supprime toutes les données de votre cluster de bases de données peut générer un énorme journal interne qui nécessiterait l'allocation d'une grande quantité de stockage interne et réduirait ainsi de manière permanente l'espace disponible pour les données graphiques.

    Pour éviter cela, divisez les transactions importantes en transactions plus petites et laissez du temps entre elles afin que les journaux internes associés aient une chance d'expirer et libérez leur stockage interne pour une réutilisation par les journaux suivants.

  • Pour suivre la croissance de votre volume de cluster Neptune, vous pouvez définir un CloudWatch alarme surVolumeBytesUsed CloudWatch métrique. Cela peut être particulièrement utile si vos données atteignent la taille maximale du volume de cluster. Pour plus d'informations, veuillez consulter la rubriqueUtilisation d'Amazon CloudWatch alarmes.

La seule façon de réduire l'espace de stockage utilisé par votre cluster de bases de données lorsque vous disposez d'une grande quantité d'espace alloué inutilisé est d'exporter toutes les données de votre graphe, puis de les recharger dans un nouveau cluster de bases de données. VoirService et utilitaire d'exportation de données de Neptunepour exporter facilement des données depuis un cluster de bases de données, etLe chargeur en vrac Neptunepour réimporter facilement des données dans Neptune.

Note

Création et restauration d'uninstantanéne réduit pas la quantité de stockage allouée à votre cluster de bases de données, car un instantané conserve l'image d'origine du stockage sous-jacent du cluster. Si une partie importante de l'espace de stockage alloué n'est pas utilisée, le seul moyen de réduire la quantité de stockage allouée est d'exporter vos données graphiques et 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.

Le fait que six copies de vos données Neptune soient conservées dans trois zones de disponibilité (AZ) garantit que le stockage des données est hautement durable, avec une très faible probabilité de perte de données. Les données sont répliquées automatiquement dans les zones de disponibilité, qu'elles contiennent ou non des instances de base de données, et le volume de la réplication est indépendant du nombre d'instances de base de données de votre cluster.

Cela signifie que vous pouvez ajouter rapidement une réplique en lecture, car Neptune ne crée pas de nouvelle copie des données du graphe. Au lieu de cela, la réplica en lecture se connecte au volume de cluster qui contient déjà vos données. De même, la suppression d'une réplique en lecture ne supprime aucune des données sous-jacentes.

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

Neptune détecte également automatiquement les défaillances dans les segments qui composent le volume de 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 du même segment pour s'assurer que les données réparées sont à jour. En conséquence, Neptune empêche la perte de données et réduit la nécessité d'exécuter point-in-time restaurer pour remédier à une panne de disque.