Ce document du framework d'architecture Google Cloud fournit des recommandations pour vous aider à optimiser le coût de vos bases de données et de vos charges de travail d'analyse dans Google Cloud.
Ces conseils sont destinés aux architectes, aux développeurs et aux administrateurs responsables du provisionnement et de la gestion des bases de données et des charges de travail d'analyse dans le cloud.
Cette section présente les recommandations en matière d'optimisation des coûts pour les produits suivants :
Cloud SQL
Cloud SQL est une base de données relationnelle entièrement gérée pour MySQL, PostgreSQL et SQL Server.
Surveiller l'utilisation
Examinez les métriques dans le tableau de bord de surveillance et vérifiez que votre déploiement répond aux exigences de votre charge de travail.
Optimisez les ressources
Vous trouverez ci-dessous des recommandations pour vous aider à optimiser vos ressources Cloud SQL :
- Concevez une stratégie de haute disponibilité et de reprise après sinistre conforme à vos objectifs en termes de temps de récupération (RTO) et de point de récupération (RPO).
En fonction de votre charge de travail, nous vous recommandons les solutions suivantes :
- Pour les charges de travail nécessitant un RTO et un RPO courts, utilisez la configuration à haute disponibilité et les instances répliquées pour le basculement régional.
- Pour les charges de travail pouvant tolérer un RTO et un RPO plus longs, utilisez des sauvegardes automatiques et à la demande dont la restauration peut prendre un peu plus de temps après une défaillance.
- Provisionnez la base de données avec la capacité de stockage minimale requise.
- Pour faire évoluer automatiquement la capacité de stockage à mesure que la quantité de données augmente, activez la fonctionnalité d'augmentation automatique de l'espace de stockage.
- Choisissez un type de stockage adapté à votre cas d'utilisation (disques durs SSD ou HDD). Le SSD constitue le choix le plus efficace et le plus rentable dans la plupart des cas. Le HDD peut être approprié pour les grands ensembles de données (supérieurs à 10 To) qui ne sont pas sensibles à la latence ou rarement utilisés.
Optimiser les tarifs
Envisagez de souscrire des remises sur engagement d'utilisation pour les charges de travail ayant des besoins en ressources prévisibles. Vous pouvez économiser 25 % sur le tarif à la demande pour un engagement d'un an et 52 % pour un engagement de trois ans.
Spanner
Spanner est une base de données cloud native offrant une cohérence forte, une évolutivité illimitée et jusqu'à 99,999 % de disponibilité.
Surveiller l'utilisation
Vous trouverez ci-dessous des recommandations pour vous aider à suivre l'utilisation de vos ressources Spanner :
- Surveillez votre déploiement et configurez le nombre de nœuds en fonction des recommandations de processeurs.
- Définissez des alertes sur vos déploiements pour optimiser les ressources de stockage. Pour déterminer la configuration appropriée, reportez-vous aux limites recommandées par nœud.
Optimisez les ressources
Vous trouverez ci-dessous des recommandations pour vous aider à optimiser vos ressources Spanner :
- Exécutez des charges de travail plus petites sur Spanner à moindre coût en provisionnant des ressources avec des unités de traitement (PU) ou des nœuds (un nœud Spanner équivaut à 1 000 unités de traitement).
- Améliorez les performances d'exécution des requêtes à l'aide de l'optimiseur de requêtes.
- Rédigez des instructions SQL en suivant les bonnes pratiques pour créer des plans d'exécution efficaces.
- Gérez l'utilisation et les performances des déploiements Spanner à l'aide de l'outil Autoscaler. Cet outil surveille les instances, ajoute ou supprime automatiquement des nœuds et garantit que les instances respectent les limites recommandées de processeur et de stockage.
- Protégez-vous contre les suppressions ou les écritures accidentelles grâce à la récupération à un moment précis (PITR). Les bases de données avec des longues durées de conservation de version (en particulier celles qui écrasent des données fréquemment) utilisent davantage de ressources système et nécessitent plus de nœuds.
- Examinez votre stratégie de sauvegarde et choisissez l'une des options suivantes :
- Sauvegarde et restauration
- Exporter et importer
Optimiser les tarifs
Pour déterminer l'emplacement de vos nœuds Spanner, tenez compte des différences de coût entre les régions Google Cloud. Par exemple, un nœud déployé dans la région us-central1
coûte considérablement moins par heure qu'un nœud de la région southamerica-east1
.
Bigtable
Bigtable est un magasin NoSQL cloud natif orienté colonnes pour des charges de travail à grande échelle et à faible latence.
Surveiller l'utilisation
Vous trouverez ci-dessous des recommandations pour vous aider à suivre l'utilisation de vos ressources Bigtable :
- Analysez les métriques d'utilisation pour identifier les possibilités d'optimisation des ressources.
- Identifiez les hotspots et les clés en zone chaude de votre cluster Bigtable à l'aide de l'outil de diagnostic Key Visualizer.
Optimisez les ressources
Vous trouverez ci-dessous des recommandations pour vous aider à optimiser vos ressources Bigtable :
- Pour garantir une utilisation du processeur et du disque qui permette d'équilibrer la latence et la capacité de stockage, vous devez évaluer et ajuster le nombre de nœuds et la taille de votre cluster Bigtable.
- Maintenez les performances au moindre coût possible en appliquant un scaling automatisé à votre cluster Bigtable pour ajuster automatiquement le nombre de nœuds.
Évaluez le type de stockage le plus économique (HDD ou SSD) pour votre cas d'utilisation, en fonction des éléments suivants :
- Le stockage HDD est moins cher que le stockage SSD, mais offre des performances inférieures.
- Le stockage SSD coûte plus cher que le stockage HDD, mais offre des performances plus rapides et prévisibles.
Les économies réalisées grâce au stockage HDD sont minimes par rapport au coût des nœuds du cluster Bigtable, à moins que vous ne stockiez de grandes quantités de données. Le stockage HDD est parfois approprié pour les grands ensembles de données (supérieurs à 10 To) qui ne sont pas sensibles à la latence ou qui sont rarement utilisés.
Supprimez les données expirées et obsolètes à l'aide de la récupération de mémoire.
Pour éviter la création de hotspots, appliquez les bonnes pratiques de conception des clés de ligne.
Concevez un plan de sauvegarde économique et conforme à votre RPO.
Pour réduire l'utilisation du cluster et réduire le nombre de nœuds, envisagez d'ajouter un cache de capacité pour les requêtes pouvant être mises en cache à l'aide de Memorystore.
Autres ressources
- Blog : Présentation de l'optimisation des coûts sur Bigtable.
- Blog : Bonnes pratiques concernant l'optimisation des coûts et des performances de Bigtable
BigQuery
BigQuery est un entrepôt de données multicloud sans serveur, hautement évolutif et économique, conçu pour optimiser l'agilité des entreprises.
Surveiller l'utilisation
Vous trouverez ci-dessous des recommandations pour vous aider à suivre l'utilisation de vos ressources BigQuery :
- Visualisez vos coûts BigQuery ventilés par projet et par utilisateur. Identifiez les requêtes les plus coûteuses et optimisez-les.
- Analysez l'utilisation des emplacements pour l'ensemble des projets, jobs et réservations à l'aide des tables de métadonnées
INFORMATION_SCHEMA
.
Optimisez les ressources
Vous trouverez ci-dessous des recommandations pour vous aider à optimiser vos ressources BigQuery :
- Configurez des délais d'expiration pour les données au niveau de l'ensemble de données, de la table ou de la partition, en fonction de votre stratégie de conformité.
- Limitez les coûts des requêtes en limitant le nombre d'octets facturés par requête. Pour éviter les erreurs humaines accidentelles, activez le contrôle des coûts au niveau de l'utilisateur et du projet.
- Interrogez uniquement les données dont vous avez besoin. Évitez les analyses complètes des requêtes. Pour explorer et comprendre la sémantique des données, utilisez les options gratuites de prévisualisation des données.
- Pour réduire les coûts de traitement et améliorer les performances, partitionnez vos tables et découpez-les en clusters lorsque cela est possible.
- Filtrez votre requête aussi tôt et aussi souvent que possible.
- Lorsque vous traitez des données à partir de plusieurs sources (telles que Bigtable, Cloud Storage, Google Drive et Cloud SQL), évitez la duplication de données en utilisant un modèle de données à accès fédéré et en interrogeant les données directement à partir des sources.
- Tirez parti de la sauvegarde BigQuery plutôt que de dupliquer les données. Consultez la section Scénarios de reprise après sinistre pour les données.
Optimiser les tarifs
Vous trouverez ci-dessous des recommandations pour vous aider à réduire les tarifs de facturation de vos ressources BigQuery :
- Évaluez la manière dont vous modifiez les données et profitez des tarifs moindres de stockage à long terme.
- Examinez les différences entre les tarifs forfaitaires et à la demande puis choisissez une option adaptée à vos besoins.
- Déterminez si vous pouvez utiliser le chargement par lot plutôt que des insertions en flux continu pour vos workflows de données. Utilisez des insertions en flux continu si les données chargées dans BigQuery sont immédiatement utilisées.
- Pour améliorer les performances et réduire le coût de récupération des données, utilisez les résultats de requêtes mis en cache.
Autres ressources
- Contrôler les coûts BigQuery
- Bonnes pratiques pour l'optimisation des coûts liés à BigQuery.
- Maîtriser les principes de l'optimisation des coûts (PDF)
Dataflow
Dataflow est un service sans serveur rapide et économique pour le traitement unifié des données, par flux et par lot.
Surveiller l'utilisation
Vous trouverez ci-dessous des recommandations pour vous aider à suivre l'utilisation de vos ressources Dataflow :
- Prévoyez le coût des jobs Dataflow en exécutant des tests à faible charge, en déterminant les performances optimales pour votre job et en extrapolant le facteur de débit.
- Gagnez en visibilité sur le débit et l'utilisation du processeur à l'aide des tableaux de bord d'observabilité.
- Observez les métriques de performance, d'exécution et d'intégrité du pipeline à l'aide de l'interface de surveillance Dataflow.
Optimisez les ressources
Vous trouverez ci-dessous des recommandations pour vous aider à optimiser vos ressources Dataflow :
- Envisagez d'utiliser Dataflow Prime pour traiter efficacement le big data.
- Pour les pipelines de traitement par lot, réduisez les ressources (processeur, mémoire et stockage Persistent Disk) consommées sur les VM de nœud de calcul à l'aide de Dataflow Shuffle.
- Réduisez les coûts de traitement par lot en utilisant la planification flexible des ressources (FlexRS) pour les pipelines par lots avec autoscaling. FlexRS utilise une planification avancée, Dataflow Shuffle et une combinaison de VM préemptives et standards pour réduire le coût des pipelines par lot.
- Pour assurer un autoscaling plus réactif et réduire la consommation de ressources, utilisez Streaming Engine, qui transfère l'exécution du pipeline depuis les VM de nœud de calcul vers le backend du service Dataflow.
- Si le pipeline n'a pas besoin d'accéder à Internet ou à d'autres réseaux Google Cloud, désactivez les adresses IP publiques. La désactivation de l'accès à Internet vous permet de réduire les coûts réseau et d'améliorer la sécurité du pipeline.
- Suivez les bonnes pratiques pour obtenir un pipeline efficace avec Dataflow.
Dataproc
Dataproc est un service géré Apache Spark et Apache Hadoop pour le traitement, l'interrogation, le streaming et le machine learning par lot.
Vous trouverez ci-dessous des recommandations pour vous aider à optimiser le coût de vos ressources Dataproc :
- Choisissez des types de machines adaptés à votre charge de travail.
- Appliquez un scaling automatique en fonction de la demande grâce à des clusters d'autoscaling afin de ne payer que les ressources dont vous avez besoin.
- Si un cluster peut être supprimé une fois la tâche terminée, envisagez de provisionner un cluster éphémère à l'aide d'un modèle de workflow de cluster géré.
- Pour éviter les frais liés à un cluster inactif, utilisez la suppression planifiée qui permet de supprimer un cluster après une période d'inactivité spécifiée, à une heure spécifiée ou après une période donnée.
- Suivez les bonnes pratiques pour créer des clusters de longue durée sur Dataproc.
- Obtenez des remises sur engagement d'utilisation pour les charges de travail permanentes.
Étapes suivantes
- Optimisez les coûts des services de calcul, du stockage, de la mise en réseau et des opérations :
- Explorer les autres catégories du framework d'architecture Google Cloud