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:

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.