PERF04-BP04 Choisir le stockage de données en fonction des modèles d'accès
Utilisez les modèles d'accès de la charge de travail pour décider les services et technologies que vous allez utiliser. Outre les exigences non fonctionnelles telles que les performances et l'échelle, les modèles d'accès influencent fortement le choix de la base de données et des solutions de stockage. La première dimension à prendre en compte est le nécessité de prendre en charge ou non les transactions, la conformité ACID et les lectures cohérentes. Toutes les bases de données ne prennent pas en charge ces opérations, et la plupart des bases de données NoSQL fournissent un modèle de cohérence éventuel. La deuxième dimension importante est la répartition des écritures et des lectures dans le temps et dans l'espace. Les applications distribuées à l'échelle mondiale doivent tenir compte des modèles de trafic, de la latence et des exigences d'accès afin d'identifier la solution de stockage optimale. Le troisième aspect crucial à choisir est la flexibilité du modèle de requête, les modèles d'accès aléatoire et les requêtes uniques. Les considérations relatives aux fonctionnalités de requête hautement spécialisées pour le traitement du texte et du langage naturel, les séries chronologiques et les graphiques doivent également être prises en considération.
Résultat souhaité : Le stockage des données a été sélectionné en fonction des modèles d'accès aux données identifiés et documentés. Cela peut inclure les requêtes de lecture, d'écriture et de suppression les plus courantes, la nécessité d'effectuer des calculs et des agrégations ad hoc, la complexité des données, l'interdépendance des données et les besoins de cohérence requis.
Anti-modèles courants :
-
Sélectionnez un seul fournisseur de base de données afin de simplifier la gestion des opérations.
-
Vous supposez que les modèles d'accès aux données resteront cohérents au fil du temps.
-
Vous implémentez des transactions complexes, la restauration et une logique de cohérence dans l'application.
-
La base de données est configurée pour prendre en charge une rafale de trafic potentiellement élevé. Dès lors, les ressources de la base de données restent inactives la plupart du temps.
-
Vous utilisez une base de données partagée pour des usages transactionnels et analytiques.
Avantages liés au respect de cette bonne pratique : La sélection et l'optimisation de votre stockage de données en fonction des modèles d'accès contribuent à réduire la complexité du développement et à optimiser vos opportunités de performances. Savoir quand utiliser les réplicas en lecture, les tables globales, le partitionnement des données et la mise en cache vous aidera à réduire les frais généraux opérationnels et à évoluer en fonction des besoins de votre charge de travail.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : Moyenne entreprise
Directives d'implémentation
Identifiez et évaluez votre modèle d'accès aux données pour sélectionner la configuration de stockage appropriée. Chaque solution de base de données dispose d'options pour configurer et optimiser votre solution de stockage. Utilisez les métriques et les journaux collectés et testez les options pour trouver la configuration optimale. Utilisez le tableau suivant pour passer en revue les options de stockage par service de base de données.
Services AWS | Amazon RDS, Amazon Aurora | Amazon DynamoDB | Amazon DocumentDB | Amazon ElastiCache | Amazon Neptune | Amazon Timestream | Amazon Keyspaces | Amazon QLDB |
---|---|---|---|---|---|---|---|---|
Mise à l'échelle du stockage | Option de mise à l'échelle automatique du stockage disponible pour mettre automatiquement à l'échelle le stockage alloué. Les IOPS peuvent également être mises à l'échelle indépendamment du stockage alloué lors de l'utilisation des types de stockage IOPS provisionnés | Mise à l'échelle automatique. Les tables ne sont pas contraintes en termes de taille. | Option de mise à l'échelle automatique du stockage disponible pour mettre à l'échelle le stockage alloué | Le stockage est en mémoire, lié au type ou au nombre d'instances | Option de mise à l'échelle automatique du stockage disponible pour mettre automatiquement à l'échelle le stockage alloué | Configuration de la période de rétention pour les niveaux en mémoire et magnétiques, en jours | Augmentation et diminution automatiques du stockage des tables | Mise à l'échelle automatique. Les tables ne sont pas contraintes en termes de taille. |
Étapes d'implémentation :
-
Identifiez et documentez la croissance prévue des données et du trafic.
-
Amazon RDS et Aurora prennent en charge la mise à l'échelle automatique du stockage jusqu'aux limites documentées. Au-delà de ces limites, envisagez de transférer des données plus anciennes vers Amazon S3 pour l'archivage, d'agréger les données historiques à des fins d'analyse ou de les mettre à l'échelle horizontalement via le partitionnement.
-
DynamoDB et Amazon S3 se mettent automatiquement à l'échelle pour atteindre un volume de stockage presque illimité.
-
Les instances Amazon RDS et les bases de données exécutées sur EC2 peuvent être redimensionnées manuellement, et de nouveaux volumes EBS peuvent être ajoutés ultérieurement sur les instances EC2 pour un stockage supplémentaire.
-
Les types d'instance peuvent être modifiés en fonction des changements d'activité. Par exemple, vous pouvez commencer avec une instance plus petite en phase de test, puis mettre à l'échelle l'instance lorsque vous commencez à recevoir du trafic de production vers le service. Aurora Serverless V2 se met automatiquement à l'échelle en fonction des changements de charge.
-
-
Documentez les exigences relatives aux performances normales et maximales (transactions par seconde, TPS, et requêtes par seconde, QPS) et à la cohérence (ACID et cohérence éventuelle).
-
Documentez les aspects de déploiement de la solution et les exigences d'accès à la base de données (global, multi-AZ, réplication en lecture, plusieurs nœuds d'écriture)
Niveau d'effort du plan d'implémentation : Si vous ne disposez pas de journaux ni de métriques pour votre solution de gestion des données, vous devrez les mettre en place avant d'identifier et de documenter vos modèles d'accès aux données. Une fois que votre modèle d'accès aux données sera identifié, la sélection et la configuration de votre stockage de données présenteront un niveau d'effort faible .
Ressources
Documents connexes :
Vidéos connexes :
Exemples connexes :