Numeriblog Produits Google Google Cloud Platform Pourquoi la base de données BigQuery est-elle aussi intéressante ?

Pourquoi la base de données BigQuery est-elle aussi intéressante ?

C’est la base de données mise en avant par Google pour faire de l’analyse de données. Google a développé à l’origine cet outil pour analyser les habitudes de ses utilisateurs et ainsi vendre de la […]

personnes ont consulté cet article

5 minutes

Rédigé par Xavier Michetti - il y a 2 ans

Pourquoi la base de données BigQuery est-elle aussi intéressante ?

C’est la base de données mise en avant par Google pour faire de l’analyse de données. Google a développé à l’origine cet outil pour analyser les habitudes de ses utilisateurs et ainsi vendre de la publicité ciblée. C’est un outil extrêmement puissant pour travailler avec des données Big Data, mais paradoxalement son architecture répartie en fait une solution tout aussi attractive pour des volumes de données moins importants et pour des structures de toutes tailles. De par sa flexibilité technologique et économique, cette base de données peut servir de Datawarehouse (entrepôt de données) ou de Data Lake.

Avec BigQuery, Google démocratise l’analyse de données, qu’elle soit Big Data ou non, c’est le parfait outil pour exploiter vos données.

Principe et fonctionnement de BigQuery

Dans un projet d’informatique décisionnelle (ou projet Data), vous collectez les données de l’entreprise provenant des différentes sources de données (ou data sources) de votre système d’information au sein d’une même base de données (appelée Data Lake ou Data warehouse). Ceci est essentiel afin de les préparer pour le reporting (via un outil de reporting ou Data visualization comme Google Data Studio ou Looker) ou pour les algorithmes de Machine learning. L’outil BigQuery a été conçu et développé pour être le parfait Data warehouse, la pièce centrale de l’analyse de données. En effet il répond au standard SQL ce qui fait qu’il est compatible avec tous les outils de reporting existants (outils permettant de créer des tableaux de bord). 

BigQuery à l’instar des bases de données NoSql est une solution Big Data (car elle permet d’exécuter des requêtes de façon réparties sur plusieurs machines) et donc leurs architectures sont comparables, mais comme leurs finalités sont différentes il existe une différence majeure entre ces solutions. En effet pour BigQuery les données sont totalement décorrélées des moyens de calculs (Noeuds ou node pour les bases de données NoSql), ce qui permet une plus grande flexibilité pour l’exploration des données. Ce n’est que lors de l’exécution d’une requête (ou Query en anglais) que les données sont réparties aux différents processeurs et cela apporte un avantage considérable par rapport à la technologie NoSql : les axes d’analyse ne sont pas figés. Avantage supplémentaire au niveau de la facturation, Google facture le stockage de données mais ne facture les processeurs (ce qui est le plus coûteux) que lorsque que vous exécutez une requête. Il existe une option pour faire de la réservation de ressources mais c’est onéreux et c’est réservé à des besoins spécifiques, la plupart du temps la facturation à la consommation est plus intéressante. De plus, un palier gratuit existe pour tous, 10 Go de stockage et 1 To de requête par mois !

Les avantages de BigQuery

Le gros plus de cette solution Big Data, c’est que vous partagez avec les autres utilisateurs les puissances de calcul. Quand on réalise une analyse de données on exécute souvent des grosses requêtes qui nécessitent beaucoup de puissance ponctuellement avant de passer un certain temps à analyser le résultat. En opposition aux architectures classiques, avec BigQuery on dispose d’une puissance de calcul inégalée pendant l’exécution de la requête, puis elle est mise à disposition des autres utilisateurs une fois la requête finie. Du coup, nos requêtes se font plus vite et on ne paye pas des ressources qui ne servent à rien. D’un point de vue économique et écologique c’est révolutionnaire. Ce genre d’infrastructure ne peut exister que dans le Cloud et c’est ce qui le rend si intéressant et pertinent.

Comme il n’y a pas de coût de licence et ne nécessite pas d’administration ni de maintenance (en terme de gestion de base de données on ne peut pas faire plus simple), ce service est également adapté pour les petites structures qui ont moins de besoins et disposent de moins de compétences. En effet, pour une utilisation classique, on peut percevoir une facture annuelle de quelques centaines voire dizaines d’euros. La comparaison financière avec des solutions comme Oracle ou Sql Server est très rapide. 

De plus, BigQuery ne souffre pas de problème de disponibilité, si tous vos utilisateurs se connectent en même temps, Google mettra à disposition plus de ressources. Vous disposez d’un taux de service maximal et vous n‘êtes plus obligé d’attendre la nuit pour faire vos chargements de données (les utilisateurs ne sont pas affectés par une baisse de performances pendant les opérations de chargement puisque les ressources ne sont pas limitées). Aussi, comme la solution dispose d’une architecture Big Data vous disposez de beaucoup de performance même pour des requêtes normales (les requêtes sont donc plus rapides) et vous pouvez traiter des gros volumes de données pour certaines de vos requêtes sans faire face à des coûts d’infrastructure rédhibitoires.

Quelles sont les limitations ?

BigQuery est destiné à l’analyse de données et n’est pas fait pour être une base de données opérationnelle. En effet, il est impossible d’exécuter des requêtes très rapidement, comme les données doivent être préparées et envoyées aux unités de calculs, ce temps de préparation est incompressible ce qui fait que la moindre requête prend quelques secondes (2 à 3 secondes pour les plus rapides). Même si la plupart des requêtes se font en quelques secondes, il n’est pas possible de descendre en dessous d’un certain seuil. De plus, comme les ressources sont mutualisées, il se peut qu’il faille attendre un temps de libération de ces ressources (ça peut arriver et ça peut durer quelques secondes). C’est plus un désagrément dans le cadre de l’analyse de données alors que c’est rédhibitoire pour une base de données opérationnelle. BigQuery n’est donc pas à utiliser comme une base de données relationnelle applicative, ou en temps réel.

Un autre  inconvénient découle directement de son modèle de données. Pour optimiser les temps de requête d’analyse, Google stocke les données par colonnes, ce qui est un énorme avantage sauf pour la mise à jour de données. Même si, on peut facilement ajouter des nouvelles informations dans BigQuery, la mise à jour est coûteuse et il existe de nombreuses limitations. D’ailleurs lors du lancement du produit, la mise à jour des données était impossible directement. Il existe des méthodes de contournement mais cela nécessite une expertise spécifique. BigQuery est facile à utiliser du point de vue de l’interrogation des données mais reste plus complexe à manipuler pour le chargement de données. Or, cette étape qui est le point névralgique de tous les projets Data, l’est encore plus avec Big Query. De ce fait, à moins que vous n’ayez que quelques tables à charger, il est conseillé de confier cette tâche à des professionnels afin de disposer des meilleures conditions pour exploiter vos données.

Conclusion

En tant que spécialiste de la Data, je pense que BigQuery (disponible sur Google Cloud Platform ou GCP) est aujourd’hui la référence en termes de base de données. Google a fait le pari de développer des outils spécialisés, ce qui était à mons sens l’orientation qu’il fallait prendre pour faire évoluer le monde des bases de données. En effet BigQuery répond à toutes les problématiques relatives au monde de la Data (ou Décisionnel), de part sa performance (Big Data ou pas), mais surtout sa disponibilité qui n’est jamais impactée par les pics de charge. De plus c’est une base de données relationnelle et flexible ce qui est idéal pour le traitement des données de votre système d’information. En effet, cela permet de faire de l’analyse, du croisement et de l’exploration de données ou du data-mining, c’est-à-dire toutes les opérations nécessaires de la chaîne décisionnelle.

Ainsi, Bigquery permet à tout type de structure de faire du Big Data ou un projet décisionnel.

Récapitulatif des avantages : 

  • Gestion automatique des pics de charge 
  • Les chargements de données n’impactent pas les utilisateurs
  • Gestion des droits avancés (schema, table, colonnes et lignes)
  • Traces accessibles et simples d’utilisation
  • Economique (coût à la consommation) pour toute les bourses
  • Écologique (mutualisation des ressources)
  • Standard SQL, langage universel pour les bases de données
  • Service managé, pas de maintenance à réaliser
  • Performance sur les gros volumes
  • Simple car il n’y a pas d’index ou de clef de répartition à gérer
  • Permet l’analyse de données qui sont délaissées pour le moment : logs, comportement utilisateur, IOT…
  • SaaS : aucun investissement initial

Inconvénients : 

  • Pour des requêtes sous la seconde, il faut utiliser BigQuery BI Engine, le moteur in Memory qui ne permet pas de faire de Big Data et reste assez cher puisqu’il faut faire de la réservation de ressource
  • La mécanique de mise à jour des données
  • Notions de facturation
  • Surveillance et contrôle des coûts

Pour découvrir BigQuery par la pratique je vous invite à lire l’article Numeriblog pour réaliser vos premiers pas sur l’outil.

Besoin d'un peu plus d'aide sur Google Forms ?

Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Google Forms, que ce soit pour votre entreprise ou pour vos besoins personnels !

Découvrir nos formations Google Forms

Articles similaires

  • Articles connexes
  • Plus de l'auteur

Rédacteur

S’abonner
Notification pour
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires