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 vos besoins de stockage de base 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 Non-Volatile Memory Express (NVMe). Le volume du cluster se compose d'un ensemble de blocs logiques appelés segments. 10 gigaoctets (Go) de stockage sont alloués à chacun de ces segments. Les données de chaque segment sont répliquées en six copies, qui sont ensuite attribuées dans trois zones de disponibilité dans laAWS région où se trouve le cluster de base de données.
Lorsqu'un cluster de base de données Neptune est créé, un seul segment de 10 Go lui est attribué. À 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 évoluer jusqu'à une taille maximale de 128 tebibytes (TiB) dans toutes les régions prises en charge, à l'exception de la Chine GovCloud, où elle est limitée à 64 TiB. ToutefoisVersion : 1.0.2.2 (2020-03-09), pour les versions du moteur antérieures à, la taille des volumes de cluster est limitée à TiB dans toutes les régions.
Le volume du cluster de bases de données contient toutes les données utilisateur, les index et les dictionnaires (décrits dans laModèle de données Neptune Graph section), ainsi que les métadonnées internes, telles que les journaux de transactions internes. Toutes ces données graphiques, 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 le volume d'un 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 la limite maximale de stockage, qui correspond à la quantité maximale allouée au volume du cluster à tout moment pendant 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ôtg.V().drop()
, l'espace total alloué reste le même. Neptune optimise automatiquement l'espace alloué inutilisé pour le réutiliser future.
Outre les données utilisateur, deux autres types de contenu 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 des données graphiques, elles persistent indéfiniment, même lorsque les données graphiques qu'elles prennent 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 des journaux internes sont stockées dans un espace de stockage interne distinct qui possède sa propre limite maximale. Lorsqu'un journal interne expire, 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 laVolumeBytesUsed
CloudWatch métrique.
DécouvrezBonnes pratiques de stockage les moyens de réduire au minimum l'espace de stockage alloué et de réutiliser l'espace.
Facturation de stockage Neptune
Les coûts de stockage sont facturés en fonction du seuil de stockage le plus élevé, comme décrit ci-dessus. 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 niveau maximum de stockage actuel de votre cluster de base de données en surveillant laVolumeBytesUsed
CloudWatch métrique (voirSurveiller 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 sont basés sur les coûts de stockage Neptune (voirCloudWatchmesures utiles pour gérer le stockage de sauvegarde Neptune.
Toutefois, si vous créez un clone de votre base de données, le clone pointe vers le même volume de cluster que celui que votre cluster de base de données utilise lui-même. Il n'y a donc pas de frais de stockage supplémentaires pour les données d'origine. Les modifications ultérieures apportées au clone utilisent le copy-on-write protocole et entraînent des coûts de stockage supplémentaires.
Pour plus d'informations sur les tarifs de Neptune, consultez la section Tarification d'Amazon Neptune
Bonnes pratiques de stockage Neptune
Étant donné que certains types de données consomment de l'espace de stockage permanent dans Neptune, appliquez les bonnes pratiques suivantes pour éviter les pics importants de croissance du stockage :
Lorsque vous concevez 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 de l'API de réinitialisation rapide. Le mieux est souvent de charger des données utilisant un nouveau modèle sur un nouveau cluster de base de données.
-
Les transactions qui fonctionnent sur de grandes quantités de données génèrent des journaux internes d'une taille correspondante, ce qui peut augmenter de façon permanente la limite maximale de l'espace de journalisation 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 définitivement l'espace disponible pour les données graphiques.
Pour éviter cela, divisez les transactions importantes en transactions plus petites et accordez du temps entre elles afin que les journaux internes associés aient une chance d'expirer et libérez leur espace de stockage interne pour ê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 Utilisation des CloudWatch alarmes Amazon.
La seule façon de réduire l'espace de stockage utilisé par votre cluster de base 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 base de données. Découvrez le service et l'utilitaire d'exportation de données de Neptune pour exporter facilement des données à partir d'un cluster de base de données, et le chargeur en masse de Neptune pour réimporter facilement des données dans Neptune.
La création et la restauration d'un instantané ne réduisent pas la quantité de stockage allouée à votre cluster de base de données, car un instantané conserve l'image d'origine du stockage sous-jacent du cluster. Si une grande partie du stockage alloué n'est pas utilisée, le seul moyen de réduire la quantité de stockage alloué est d'exporter les données de votre graphe et de les recharger dans un nouveau cluster de base 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 un stockage très 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.
Vous pouvez ainsi ajouter rapidement une réplique en lecture, car Neptune n'effectue 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 ne pouvez supprimer le volume de cluster et ses données qu'après avoir supprimé toutes ses instances de base de données.
Neptune détecte également automatiquement les défaillances au niveau des segments qui composent le volume de cluster. Lorsqu'une copie des données d'un segment est endommagée, 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. Neptune empêche ainsi la perte de données et réduit la nécessité d'exécuter une point-in-time restauration à partir d'une défaillance disque.