PERF03-BP02 Évaluer les options de configuration disponibles pour un magasin de données - AWS Well-Architected Framework

PERF03-BP02 Évaluer les options de configuration disponibles pour un magasin de données

Comprenez et évaluez les différentes fonctionnalités et options de configuration disponibles pour vos magasins de données afin d'optimiser l'espace de stockage et les performances de votre charge de travail.

Anti-modèles courants :

  • Vous n'utilisez qu'un seul type de stockage (comme Amazon EBS) pour toutes les charges de travail.

  • Vous utilisez les IOPS provisionnés pour toutes les charges de travail sans effectuer de test en situation réelle sur tous les niveaux de stockage.

  • Vous ne connaissez pas les options de configuration de la solution de gestion de données que vous avez choisie.

  • Vous vous concentrez uniquement sur l'augmentation de la taille de l'instance sans examiner les autres options de configuration disponibles.

  • Vous ne testez pas les caractéristiques de mise à l'échelle de votre magasin de données.

Avantages liés au respect de cette bonne pratique : En explorant et en expérimentant les configurations de magasin de données, vous pourriez réduire le coût de l'infrastructure, améliorer les performances et réduire l'effort requis pour maintenir vos charges de travail.

Niveau de risque exposé si cette bonne pratique n'est pas respectée : Moyen

Directives d'implémentation

Une charge de travail peut comporter un ou plusieurs magasins de données utilisés en fonction des exigences de stockage des données et d'accès aux données. Pour optimiser l'efficacité et le coût de vos performances, vous devez évaluer les modèles d'accès aux données afin de déterminer les configurations de magasin de données appropriées. Pendant que vous explorez les options de magasin de données, tenez compte de divers aspects tels que les options de stockage, la mémoire, le calcul, le réplica en lecture, les exigences de cohérence, le regroupement de connexions et les options de mise en cache. Testez ces différentes options de configuration pour améliorer les métriques d'efficacité des performances.

Étapes d'implémentation

  • Comprenez les configurations actuelles (comme le type d'instance, la taille de stockage ou la version du moteur de base de données) de votre magasin de données.

  • Consultez la documentation AWS et les bonnes pratiques pour en savoir plus sur les options de configuration recommandées qui peuvent vous aider à améliorer les performances de votre magasin de données. Les principales options de magasin de données à prendre en compte sont les suivantes :

    Option de configuration Exemples
    Déchargement des lectures (comme les réplicas en lecture et la mise en cache)
    • Pour les tables DynamoDB, vous pouvez décharger les lectures à l'aide de DAX pour la mise en cache.

    • Vous pouvez créer un cluster Amazon ElastiCache for Redis pour Redis et configurer votre application pour qu'elle lise d'abord les données à partir du cache, en revenant à la base de données si l'élément demandé n'est pas présent.

    • Les bases de données relationnelles comme Amazon RDS et Aurora et les bases de données NoSQL allouées telles que Neptune et Amazon DocumentDB prennent toutes en charge l'ajout de réplicas en lecture pour décharger les parties lues de la charge de travail.

    • Les bases de données sans serveur comme DynamoDB se mettent à l'échelle automatiquement. Assurez-vous que vous disposez de suffisamment d'unités de capacité de lecture (RCU) allouées pour gérer la charge de travail.

    Mise à l'échelle des écritures (comme le partitionnement des clés de partition ou l'introduction d'une file d'attente)
    • Pour les bases de données relationnelles, vous pouvez augmenter la taille de l'instance pour qu'elle s'adapte à une charge de travail accrue ou augmenter les IOPS provisionnés pour permettre un débit accru vers le stockage sous-jacent.

    • Vous pouvez également ajouter une file d'attente devant votre base de données plutôt que d'écrire directement dans la base de données. Ce modèle vous permet de dissocier l'ingestion de la base de données et de contrôler le débit afin que la base de données ne soit pas submergée. 

    • Regrouper vos demandes d'écriture plutôt que de créer de nombreuses transactions de courte durée contribue à améliorer le débit dans les bases de données relationnelles à volume d'écriture élevé.

    • Les bases de données sans serveur comme DynamoDB peuvent mettre à l'échelle le débit d'écriture automatiquement ou en ajustant les unités de capacité d'écriture allouées (WCU) en fonction du mode de capacité. 

    • Vous pouvez toujours rencontrer des problèmes avec les partitions à chaud lorsque vous atteignez les limites de débit pour une clé de partition donnée. Pour pallier à ce problème, choisissez une clé de partition distribuée plus uniformément ou partitionnez en écriture la clé de partition. 

    Politiques pour gérer le cycle de vie de vos jeux de données
    • Vous pouvez utiliser Amazon S3 Lifecycle afin de gérer vos objets tout au long de leur cycle de vie. Si vos modèles d'accès sont inconnus, changeants ou imprévisibles, vous pouvez utiliser Amazon S3 Intelligent-Tiering, qui surveille les modèles d'accès et déplace automatiquement les objets auxquels il n'a pas été possible d'accéder vers des niveaux d'accès moins coûteux. Vous pouvez utiliser les métriques  Amazon S3 Storage Lens afin d'identifier les possibilités d'optimisation et les écarts dans la gestion du cycle de vie.

    • Gestion du cycle de vie Amazon EFS gère automatiquement le stockage des fichiers pour vos systèmes de fichiers.

    Gestion et regroupement des connexions
    • Amazon RDS Proxy peut être utilisé avec Amazon RDS et Aurora pour gérer les connexions à la base de données. 

    • Les bases de données sans serveur comme DynamoDB n'ont pas de connexions associées, mais tenez compte de la capacité allouée et des politiques de mise à l'échelle automatique pour faire face aux pics de charge.

  • Réalisez des tests et procédez au benchmarking dans un environnement hors production afin d'identifier l'option de configuration qui répond à vos exigences en termes de charge de travail.

  • Après avoir réalisé vos tests, planifiez votre migration et validez vos métriques de performance.

  • Utilisez les outils de surveillance AWS (tels que Amazon CloudWatch) et d'optimisation (tels que Amazon S3 Storage Lens) pour optimiser en continu votre magasin de données à l'aide d'un modèle d'utilisation réel.

Ressources

Documents connexes :

Vidéos connexes :

Exemples connexes :