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

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

PERF03-BP02 Évaluer les options de configuration disponibles pour le 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, tel qu'AmazonEBS, pour toutes les charges de travail.

  • Vous utilisez le provisionné IOPS pour toutes les charges de travail sans effectuer de tests réels 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 encouru 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 AWS la documentation et les meilleures pratiques pour découvrir les options de configuration recommandées qui peuvent contribuer à 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 la mise en cache. DAX

    • Vous pouvez créer un cluster Amazon ElastiCache (RedisOSS) et configurer votre application pour qu'elle lise d'abord dans le cache, puis revenir à la base de données si l'élément demandé n'est pas présent.

    • Bases de données relationnelles telles qu'Amazon RDS et Aurora, et mises en service Aucune SQL base de données telle que Neptune et Amazon DocumentDB ne prend toutes en charge l'ajout de répliques de lecture pour décharger les parties de lecture de la charge de travail.

    • Les bases de données sans serveur comme DynamoDB se mettent à l’échelle automatiquement. Assurez-vous de disposer de suffisamment d'unités de capacité de lecture (RCU) 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 faire face à une charge de travail accrue ou augmenter le provisionnement IOPs pour augmenter le débit du 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 telles que DynamoDB peuvent augmenter 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 schémas d’accès et déplace automatiquement les objets qui n’ont pas été accédé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.

    • Amazon EFS Lifecycle Management gère automatiquement le stockage de 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 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 AWS des outils de surveillance (comme Amazon CloudWatch) et d'optimisation (comme Amazon S3 Storage Lens) pour optimiser en permanence votre magasin de données en utilisant des modèles d'utilisation réels.

Ressources

Documents connexes :

Vidéos connexes :

Exemples connexes :