Analyse comparative des bases de données sur GCP
Il est très facile de se perdre dans tous les services que peuvent proposer les offres Cloud. Aujourd’hui nous allons nous pencher sur les différentes bases de données supervisées (aucune infrastructure ou maintenance à réaliser […]
Ce que vous allez découvrir
- Un peu d’histoire des bases des données
- Cloud SQL
- Firestore
- Bigtable
- BigQuery
- Spanner
- Memorystore
- Conclusion
Analyse comparative des bases de données sur GCP
Il est très facile de se perdre dans tous les services que peuvent proposer les offres Cloud. Aujourd’hui nous allons nous pencher sur les différentes bases de données supervisées (aucune infrastructure ou maintenance à réaliser soi-même offerte sur GCP (Google Cloud Platform)). L’offre des bases de données ne déroge pas à la règle, et il est difficile de s’y retrouver. Laissez-vous guider par cet article afin de découvrir les solutions de bases de données GCP et leur utilisation adaptée.
Avec GCP, on retrouve une dizaine de bases de données, il y en a de toutes sortes : des bases de données traditionnelles, des réparties, des in-memory (Base de données en mémoire) ou encore des vectorielles… Je vous propose donc un tour d’horizon afin d’y voir un peu plus clair sur le stockage des données et leur gestion sur GCP.
Un peu d’histoire des bases des données
Intéressons-nous à l’histoire récente et au quotidien des entreprises avant l’avènement du Cloud. Pour des raisons de ressources, de cohérence et de technique, les directions informatiques préféraient se focaliser sur une seule base de données (sauf exceptions à la marge dues à des contraintes éditeur). Par conséquent, cette base de données devait répondre à tous les besoins des entreprises : base de données de gestion pour héberger un ERP, base de données applicative pour les sites intranet, les sites web ou petites applications et enfin l’analyse de données.
L’eau a bien coulé sous les ponts depuis cette époque et les bases de données sont désormais plus faciles à maintenir et à administrer. De ce fait, les contraintes techniques et de ressources sont devenues moins importantes et les solutions supervisées proposées par le Cloud permettent encore plus de se soustraire à ces problématiques. Aujourd’hui, il est beaucoup plus facile et pertinent d’utiliser plusieurs bases de données afin de mieux répondre aux besoins. En outre, il est désormais possible de répondre à des besoins inaccessibles hier comme le Big Data. Dans cet article, je ferai le tour de l’offre des bases de données supervisées de GCP afin d’expliquer leurs principales caractéristiques et à quelles fins elles sont destinées.
J’ai analysé pour vous la gestion et l’administration de ces bases de données, leurs modèles de données, les moyens d’interrogation disponibles si elles peuvent gérer plusieurs tables ainsi que leurs principaux attributs… Bref j’ai tout passé en revue pour vous faire une synthèse et que vous ayez une vision claire de l’offre GCP en termes de bases de données.
Cloud SQL
C’est la solution de Google qui permet de superviser des bases de données ancienne génération et relationnelles. Vous pouvez choisir entre PostgreSQL, MySql ou MS Sql Server. GCP vous propose de superviser la machine virtuelle (VM) et d’installer les patchs de sécurité afin de vous décharger des responsabilités d’infrastructure. Il ne vous reste qu’à utiliser et administrer la base de données. On ne présente plus ces bases de données relationnelles qui sont très efficaces pour faire tourner des applications standards voire faire de l’analyse de données avec un coût maîtrisé. En revanche, elles ne sont pas du tout faites pour le Big Data et nécessitent plus de maintenance que des bases de données dernière génération.
Utilisation | Simple d’utilisation ce sont toutes des bases de données classiques (SQL ANSI) |
Maintenance | Compliquée : vérifier l’utilisation du stockage et du CPU puisque ce sont des ressources réservées |
Coût | Réservation de ressources |
Expertise | Uniquement quand la volumétrie est importante pour optimiser les temps de traitement (gestion des indexes et des statistiques) |
Technologie | Relationnelle et structurée |
Big Data | Non |
Application | Applications simples |
Firestore
C’est une base de données NoSql non structurée. Les données sont réparties et stockées sous forme de couples clé/valeur (utilisation du format JSON). C’est très efficace pour des applications qui fonctionnent directement avec ce format, cela évite d’avoir à transformer les données pour les stocker ou les utiliser. D’autant plus pour des exécutions en temps réel. Même si elle n‘est pas adaptée au Big Data, Firestore permet de gérer une volumétrie plus importante que les bases de données traditionnelles et permet de gérer des données non structurées, c’est-à- dire que pour chaque enregistrement on ne retrouve pas forcément les mêmes champs (exemple : une base de données e-commerce pour laquelle les articles n’ont pas toujours les mêmes caractéristiques). En revanche ce n’est pas une base de données relationnelle et on ne peut donc gérer qu’une seule table.
Utilisation | Simple |
Maintenance | Quasi nulle |
Coût | À l’utilisation et adapté aux besoins et donc à toutes les bourses |
Expertise | Aucune expertise requise |
Technologie | Répartie, NoSql et non structurée |
Big Data | Non |
Application | Applications simples |
Bigtable
Utilisé par Google en interne depuis 2005, c’est le premier outil de bases de données Big Data, à la fois populaire et efficace. Bigtable est une base de données répartie, non structurée et NoSQL. Toutes les bases de données NoSql (Hadoop entre autres) découlent de cette technologie. C’est une base de données mono table contrainte à une clé de répartition. Par analogie c’est une formule 1 de la base de données. C’est ultra performant dans des conditions bien précises mais pas pour tout. On ne va pas chercher ses enfants à l’école en Formule 1. Cependant c’est pertinent et optimal pour les applications Big Data qui n’ont qu’une seule table ou celles qui ont besoin d’ingérer des centaines de milliers de lignes par seconde. Comme toute bonne formule 1 qui se respecte, vous avez besoin d’une armée d’ingénieurs pour faire tourner ce genre de solution.
Utilisation | Très compliquée |
Maintenance | Compliquée |
Coût | Réservation de ressources |
Expertise | À tous les étages (mise en place, utilisation et maintenance) |
Technologie | Répartie, NoSql et non structurée |
Big Data | Oui |
Application | Applications Big Data qui nécessitent une grande réactivité. Pas adapté à l’analyse de données. |
BigQuery
C’est une base de données Big Data répartie, relationnelle et structurée. C’est exactement le contraire de la rubrique précédente. Elle fait très bien ce que ne sait pas faire Bigtable et inversement. C’est une base de données spécialisée dans l’analyse de données (pas possible de faire des requêtes en dessous de la seconde). De par sa simplicité et son coût qui s’adapte au volume de données, elle permet de mettre en place des data warehouses ou des data lakes de toutes tailles à des coûts compétitifs. Contrairement à Bigtable cette solution n’est pas seulement destinée au Big Data et fonctionne très bien pour des volumes de données plus modestes.
Utilisation | Simple en requête (SQL ANSI) mais compliqué en alimentation / chargement (limitations techniques) |
Maintenance | Nulle |
Coût | À la consommation et adapté aux besoins et donc à toutes les bourses |
Expertise | Optimisation des coûts dans le cas de volumes de données de plusieurs To |
Technologie | Répartie, vectorielle, relationnelle et structurée |
Big Data | Oui |
Application | Réservé à l’analyse de données |
Spanner
C’est une base de données relationnelle Big Data répartie et structurée. C’est la brique qui manquait dans la panoplie Big Data sur GCP, à savoir une base de données Big Data pour les applications qui ne sont pas mono table. Tout n’est pas rose pour autant, elle n’est pas mono table mais elle est quand même axée sur une table principale. La notion de clé de répartition est encore présente. C’est pas très abordable ni économiquement ni techniquement mais elle reste super attractive avec des notions de bits de parité et des répartition sur plusieurs régions pour avoir une grande tolérance aux pannes. Spanner est donc réservé à l’utilisation de gros volumes de données qui ne peuvent être utilisés avec Bigtable.
Utilisation | Compliquée mais requêtes en SQL ANSI |
Maintenance | Avancée |
Coût | Réservation de ressources |
Expertise | À tous les étages (mise en place, utilisation et maintenance) |
Technologie | Répartie, relationnelle et structurée |
Big Data | Oui |
Application | Réservé aux applications à gros volumes de données qui ont besoin d’une base de données relationnelle |
Memorystore
C’est une base de données in memory Redis de type clé valeur. C’est pour stocker des données non critiques et avoir une latence la plus petite possible. Cette base de données peut servir de mémoire applicative dans une architecture Cloud. Elle n’est pas adaptée au stockage de données persistantes comme des données d’entreprises qu’on souhaiterait conserver ou sauvegarder.
Utilisation | simple |
Maintenance | Aucune |
Coût | Réservation de ressources |
Expertise | Pour les grosses bases de données |
Technologie | In memory, clé/valeur |
Big Data | Non |
Application | Réservé aux petites applications qui ont besoin d’une grande réactivité |
Conclusion
Comme vous avez pu le constater, chaque outil de gestion de base de données sur GCP a un intérêt. Ils ont tous des spécificités techniques qui sont à exploiter en fonction de chaque besoin et c’est pourquoi l’offre autour des bases de données sur GCP est aussi étoffée et complète. L’offre de Google permet de répondre à tous les besoins et la volumétrie n’est plus le seul critère pour choisir sa base de données. Par exemple on peut faire des applications non structurées mais pas Big Data et à l’inverse on peut utiliser des bases de données Big Data relationnelles.
Une fois que votre besoin a été identifié vous trouverez forcément une base de données adaptée dans GCP qui dispose de l’offre la plus complète des Cloud aujourd’hui.
- Articles connexes
- Plus de l'auteur