Ce contenu est obsolète. Cette version du cadre Well-Architected se trouve désormais à l'adresse suivante: https://docs.aws.amazon.com/fr_fr/wellarchitected/2022-03-31/framework/performance-efficiency.html
PERF 4: Comment sélectionner votre solution de base de données?
La solution de base de données optimale pour un système varie en fonction des exigences
de cohérence, de disponibilité, de tolérance des partitions, de latence, de durabilité,
d'évolutivité et de capacités de requête. De nombreux systèmes utilisent des solutions
de base de données différentes pour divers sous-systèmes et activent des fonctions
différentes pour améliorer les performances. La sélection d'une solution de base de
données et de fonctionnalités incorrectes pour un système peut conduire à une efficacité
moindre des performances.
Ressources
AWS purpose-built databases (DAT209-L)
Amazon Aurora storage demystified: How it all works (DAT309-R)
Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
Cloud Databases with AWS
AWS Database Caching
Amazon DynamoDB Accelerator
Amazon Aurora best practices
Amazon Redshift performance
Amazon Athena top 10 performance tips
Amazon Redshift Spectrum best practices
Amazon DynamoDB best practices
Bonnes pratiques:
-
Comprendre les caractéristiques des données:
Vous devez connaître les différentes caractéristiques des données dans votre charge
de travail. Vérifiez si la charge de travail nécessite des transactions, la nature
de ses interactions avec les données et ses exigences en matière de performance. Utilisez
ces données pour sélectionner l'approche de base de données offrant les meilleures
performances pour votre charge de travail (par exemple, des bases de données relationnelles,
clé-valeur NoSQL, de documents, larges colonnes, graphiques, série chronologique ou
stockage en mémoire).
-
Évaluation des options disponibles:
Évaluez les services et les options de stockage qui sont disponibles dans le cadre
du processus de sélection des mécanismes de stockage pour votre charge de travail.
Comprenez comment et quand utiliser un service ou un système donné pour le stockage
des données. Apprenez-en plus sur les options de configuration disponibles qui peuvent
optimiser les performances ou l'efficacité de la base de données, comme les IOPS provisionnés,
les ressources de calcul et de mémoire, ainsi que la mise en cache.
-
Collecte et archivage des métriques de performance de la base de données:
Utilisez des outils, des bibliothèques et des systèmes qui enregistrent des mesures
de performances liées aux performances de la base de données. Par exemple, mesurez
les transactions par seconde, les requêtes lentes, ou la latence du système lors de
l'accès à la base de données. Utilisez ces données pour comprendre les performances
de vos systèmes de base de données.
-
Choix du 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. Par exemple, utilisez une base de données relationnelle
pour les charges de travail nécessitant des transactions ou un magasin clé-valeur
qui fournit un débit plus élevé, mais avec une cohérence à terme.
-
Optimisation du stockage de données en fonction des métriques et des modèles d'accès:
Utilisez les caractéristiques de performances et les modèles d'accès qui optimisent
la façon dont les données sont stockées ou interrogées pour obtenir les meilleures
performances possible. Mesurez la façon dont les optimisations telles que l'indexation,
la distribution de clé, la conception de l'entrepôt de données ou les stratégies de
mise en cache affectent les performances du système ou l'efficacité globale.
Plan d'amélioration
Comprendre les caractéristiques des données
Recherche et documentation des caractéristiques des données:
Avant de choisir une solution de base de données, comprenez les exigences fonctionnelles
de votre charge de travail et la façon dont elle interagit avec les données. Lors
de l'évaluation d'une solution de base de données, vérifiez si elle est mieux adaptée
pour répondre à vos besoins (par exemple, transactions ou haute disponibilité), afin
de pouvoir sélectionner la meilleure combinaison de bases de données à utiliser pour
votre charge de travail.
Évaluez d'autres bases de données susceptibles de mieux répondre à vos besoins en
matière de charge de travail. Si vous construisez une application IoT par exemple,
il peut être préférable de sélectionner une base de données de séries chronologiques
comme Amazon Timestream, afin de stocker et d'analyser facilement des billions d'événements
par jour pour un dixième du coût des bases de données relationnelles.
Évaluation des options disponibles
Sélection du type de base de données approprié pour votre charge de travail:
AWS vous permet de faire votre choix parmi de multiples moteurs de base de données
dédiés, notamment des bases de données relationnelles, de clé-valeur, de documents,
en mémoire, de graphiques, de séries chronologiques et de registres. Le portefeuille
de bases de données sur mesure d'AWS prend en charge une variété de modèles de données
et vous permet de créer des applications distribuées, hautement évolutives et basées
sur des cas d'utilisation spécifiques. En choisissant la base de données idéale pour
résoudre un problème ou un ensemble de problèmes précis, vous pouvez tourner le dos
aux bases de données monolithiques uniformisées et restrictives et vous concentrer
sur la création d'applications répondant aux besoins de votre entreprise.
Définition des exigences en matière de performances de base de données:
Identifiez les métriques de performance de base de données importantes pour votre
charge de travail et implémentez les exigences dans le cadre d'une approche fondée
sur les données à l'aide de la définition de points de référence ou de tests de charge.
Utilisez ces données pour identifier les points où votre solution de base de données
est limitée, puis examinez les options de configuration qui peuvent aider à surmonter
ces limitations.
Activation des options de mise en cache de base de données:
Évaluez les options de mise en cache des bases de données comme Amazon ElastiCache
for Redis pour la mise en cache des bases de données relationnelles ou Amazon DynamoDB
Accelerator (DAX) pour un cache en mémoire entièrement géré et hautement disponible
pour DynamoDB. Dans certains cas, ces options peuvent améliorer les performances de
quelques millisecondes à quelques microsecondes, même pour des millions de requêtes
par seconde.
Collecte et archivage des métriques de performance de la base de données
Collecte des métriques liées à la base de données:
Concevez votre charge de travail de sorte qu'elle enregistre les métriques liées à
l'activité de base de données. Ces données sont essentielles pour comprendre l'impact
de vos systèmes de base de données sur les performances globales de votre charge de
travail et où vous pouvez apporter des modifications pour améliorer les performances
et l'efficacité. Par exemple, le suivi des points de données, notamment les temps
de requête, le nombre de transactions, le taux d'utilisation des disques, l'utilisation
d'index ou les requêtes lentes, permet d'optimiser vos systèmes de base de données.
Surveillance des métriques:
Amazon CloudWatch peut récupérer des métriques à partir des ressources de votre architecture.
Vous pouvez également récupérer et publier des métriques personnalisées pour faire
apparaître des métriques métiers ou des métriques dérivées. Utilisez CloudWatch ou
des solutions tierces pour définir des alarmes qui indiquent les dépassements de seuils.
Choix du stockage de données en fonction des modèles d'accès
Utilisation des modèles d'accès pour déterminer le stockage des données:
Évaluez les modèles d'accès de votre charge de travail pour trouver un modèle de stockage
de données approprié. Si votre charge de travail nécessite un accès aux requêtes ad
hoc, vous pouvez par exemple sélectionner une base de données relationnelle telle
qu'Amazon RDS. Si votre charge de travail est liée à un taux de croissance élevé ou
à un trafic élevé, vous devez sélectionner une base de données clé-valeur comme Amazon
DynamoDB.
Optimisation du stockage de données en fonction des métriques et des modèles d'accès
Optimisation du stockage de données en fonction des métriques et des modèles:
Utilisez les métriques rapportées pour identifier les zones présentant des performances
insuffisantes dans votre charge de travail et pour optimiser les composants de votre
base de données. Chaque système de base de données possède différentes caractéristiques
de performances à évaluer, en particulier la façon dont les données sont indexées,
mises en cache ou distribuées entre plusieurs systèmes. Mesurez l'impact de vos optimisations.