Programme : Module 2 — Les briques de base (Compute, Storage, Data, serverless...)Cours 9/9 ▾
- 1.1 Concepts fondamentaux : IaaS, PaaS, SaaS, CaaS et le modèle de responsabilité partagée5 min
- 1.2 Géographie GCP : Régions, Zones, et concepts de haute disponibilité.4 min
- 1.3 Introduction à IAM (Identity and Access Management) – Utilisateurs, Groupes, Rôles et Principes de moindre privilège.9 min
- 1.4 Organisation des ressources : Organisation, Dossiers (Folders), Projets et l'interface de la console.3 min
- 2.1 Virtual machine : types, stockage et tags6 min
- 2.2 Serverless : Déployer des conteneurs sans gérer l'infrastructure avec Cloud Run5 min
- 2.3 Stockage objet : Cloud Storage (GCS), classes de stockage et gestion des cycles de vie.6 min
- 2.4 Le networking : VPC, Subnet, Firewall — La gestion du réseau interne de votre infrastructure10 min
- 2.5 Bases de données : Choisir entre Cloud SQL (PostgreSQL/MySQL), Spanner et Firestore.7 min

Bases de données : Choisir entre Cloud SQL (PostgreSQL/MySQL), Spanner et Firestore.
Découvrir les services de base de données proposés par Google et identifier ceux qui correspondent le mieux à vos projets.
Les Bases de données et leurs différentes utilisations
Dans Google Cloud Platform, il existe plusieurs types de bases de données en fonction de vos besoins et de votre budget. Il est crucial de bien choisir, car une base de données mal gérée peut rapidement devenir un gouffre financier pour votre entreprise ou projet.
Voici les types de bases de données disponibles sur GCP :
- CloudSQL : Base de données relationnelle managée.
- AlloyDB : Base de données relationnelle compatible PostgreSQL, conçue pour les charges de travail critiques.
- Spanner : Base de données relationnelle globale et distribuée.
- BigTable : Base de données NoSQL pour les données massives et analytiques.
- Firestore : Base de données NoSQL pour les applications mobiles et web en temps réel.
- Memorystore : Service de cache en mémoire pour les applications à haute performance.
Ces bases de données couvrent une variété de besoins, allant des bases de données relationnelles aux bases de données NoSQL et aux solutions de cache en mémoire.
Il existe aussi de nombreux avantages à utiliser des solutions de base de données fournies par des providers comme Google, AWS, etc.
- Maintenance : Vous n'avez pas à gérer la maintenance du serveur sous-jacent ni de l'application elle-même. Le provider s'en charge.
- Protection : Vous n'êtes pas responsable de la sécurité du matériel et du logiciel, mais uniquement des données entrantes et sortantes.
- Scalabilité : Vous n'avez qu'à cliquer sur un bouton pour gérer la scalabilité verticale (CPU, RAM) et horizontale (duplication, read replicas). Le provider s'en occupe également dans d'autres circonstances sans intervention complexe.
Les bases de données relationnelles
- CloudSQL
CloudSQL propose un hébergement de bases de données relationnelles non propriétaires, c'est-à-dire qu'il prend en charge des bases de données open source comme MySQL, PostgreSQL, et Oracle avec leurs licences respectives.
CloudSQL est idéal pour des applications de taille moyenne avec un trafic faible à modéré, nécessitant peu de configuration et de maintenance. Un de ses principaux avantages est la simplicité de programmation des sauvegardes et la rapidité de restauration en cas de perte de données, en quelques secondes seulement.
- AlloyDB
AlloyDB est une base de données relationnelle compatible PostgreSQL, développée par Google. Elle est conçue pour offrir des performances élevées en lecture et en écriture, avec une faible latence. AlloyDB est particulièrement adaptée aux projets et entreprises nécessitant un fort débit de données, grâce à ses améliorations significatives par rapport à PostgreSQL standard.
- Spanner
Spanner est une base de données relationnelle de type "NewSQL" qui permet de déployer une base de données disponible à travers le monde avec un SLA très élevé et des transactions lecture/écriture extrêmement rapides. Elle offre également des fonctionnalités avancées comme la recherche full-text optimisée et la recherche vectorielle pour l'IA.
Les bases de données non relationnelles
- Firestore
Firestore est une base de données NoSQL développée par Google, similaire à MongoDB. Elle stocke les données au format JSON, ce qui la rend idéale pour les applications nécessitant une synchronisation en temps réel. Firestore est particulièrement pratique pour les applications qui n'ont pas besoin de relations complexes entre les données, comme les applications de messagerie.
- BigTable
BigTable est une base de données ultra-optimisée pour le traitement de gros volumes de données. Elle permet de stocker des colonnes avec une capacité de stockage massive et de traiter des données à des millions de transactions par seconde. Conçue pour les besoins en grande échelle, elle est particulièrement adaptée aux pipelines de traitement de données à fort volume de transactions.
Le cache mémoire
- MemoryStore est un service qui permet d'utiliser des caches mémoire comme Memcached, Redis et Valkey. Ces outils agissent comme des mini-bases de données en mémoire, permettant aux applications d'éviter de requêter les bases de données de manière répétitive pour des tâches de lecture. MemoryStore propose donc un service d'utilisation de caches open source, mais entièrement géré par Google de manière payante. Pratique si vous ne voulez pas gérer vous-même un serveur ou un pod pour votre cache.
MemoryStore offre une infrastructure puissante avec des temps de réponse extrêment faibles, de l'ordre de 1 milliseconde, et une disponibilité quasi-nulle avec un scaling massif automatisé. Il propose également des fonctionnalités avancées comme la recherche vectorielle grâce au support de LangChain.
Prix
La section sur les bases de données peut être coûteuse si elles ne sont pas configurées correctement. Voici quelques exemples de coûts pour certains services :
- CloudSQL
Pour une base de données MySQL ou PostgreSQL avec une configuration minimale et un partage de coeurs, le coût peut commencer autour de 7-8 euros par mois. Cela reste négligeable par rapport aux services fournis.
- AlloyDB
AlloyDB propose des services qui peuvent coûter environ 4 euros par jour avec le plan prototype, jusqu'à 15 euros par jour avec un plan de production. Ce plan est particulièrement adapté aux applications nécessitant un fort débit et une clusterisation de base de données.
- Spanner
Le prix de spanner quand a lui et encore plus haut il démmare a environs 27 euros par jours en configuration minimal région standard sur eu-west9 (paris).
- Firestore
Firestore propose un plan gratuit très intéressant et bien poussé, ce qui le rend particulièrement adapté pour des petits projets et des projets moyens (même des projets personnels et scolaires). Voici ses tarifs :
| Opérations | Quota gratuit | Prix au-delà du quota gratuit |
|---|---|---|
| Lectures de documents² | 50 000 par jour | 0,036 $ par 100 000 documents |
| Écritures de documents | 20 000 par jour | 0,107 $ par 100 000 documents |
| Suppressions de documents | 20 000 par jour | 0,012 $ par 100 000 documents |
| Données stockées | 1 GiB³ | 0,179 $ par GiB/mois |
Conclusion
Les bases de données managées offrent de nombreux avantages en matière d'infrastructure, en éliminant la nécessité de gérer les serveurs sous-jacents, les mises à jour, les sauvegardes et les restaurations. Cependant, il est crucial de surveiller les coûts, car ils peuvent rapidement devenir un gouffre financier pour les entreprises ou les projets personnels. Une bonne compréhension des modèles de tarification et des quotas gratuits est essentielle pour optimiser les coûts tout en tirant parti des fonctionnalités avancées offertes par ces services.
Cours terminé ?
Valide-le pour faire avancer ta progression dans le parcours.