PERF03-BP02 Évaluation des options de configuration disponibles pour un magasin de données - Pilier Efficacité des performances

PERF03-BP02 Évaluation des 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ées 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 d’exposition au risque 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 (Redis OSS) 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, ainsi que 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ées 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 de gestion du cycle de vie de vos jeux de données
    • Vous pouvez utiliser Amazon S3 Lifecycle afin de gérer vos objets au cours de leur cycle de vie. Si vos schémas 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 qui n’ont pas été consultés vers des niveaux d’accès moins coûteux. Vous pouvez tirer parti des métriques Amazon S3 Storage Lens pour identifier les opportunités d’optimisation et les lacunes dans la gestion du cycle de vie.

    • La fonction de gestion du cycle de vie Amazon EFS gère automatiquement le stockage de vos systèmes de fichiers.

    Gestion et regroupement des connexions
    • Proxy Amazon RDS 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 stratégies 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 (tel qu’Amazon CloudWatch) et d’optimisation (tel qu’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 :