Spanner est un SGBDR multi datacenter

Cloud Spanner est un produit récent. Il est disponible pour le public depuis 2017. Cloud Spanner rentre dans le monde des bases de données relationnelles et transactionnelles pouvant peser plusieurs pétaoctets, capables de fonctionner grâce à des SGBDR regroupés sous la dénomination NewSQL.

Spanner vs Base de données vs NoSQL

La différence la plus marquante entre Spanner et une base de données classique est que Spanner propose de la scalabilité horizontale alors qu’un SGBDR propose de la scalabilité verticale.

La différence principale entre spanner et un système NoSQL est que Spanner supporte le langage SQL et qu’il s’appuie sur un schéma relationnel. Il peut aussi y avoir une différence important sur les aspects consistances. Mais ceci dépendera des bases NoSQL.

Spanner vs RDBMS vs NoSQL

Cloud Spanner à un SLA de 99.999

Cloud Spanner a été inventé pour - entre autres - prendre en charge la facturation de Google. Pour cette tâche, il fallait un outil capable de tourner sans jamais s’arrêter, que ce soit pour maintenance, changer le schéma des databases, etc. Ce cahier des charges exceptionnel a donné naissance à un produit tout aussi exceptionnel.

Dragon Ball Legend utilise Cloud Spanner

Le jeu mobile Dragon Ball Legend de Bandai est un autre succès dû à Cloud Spanner. Il permet à Bandai d’avoir une scalabilité extrême tout en gardant une cohérence entre joueurs au niveau mondial.

Cloud Spanner est prévu pour des applications nécessitant de la haute disponibilité

Taillé pour gérer facilement des bases de données de plusieurs dizaines de To, c’est le seul produit du marché qui peut offrir une montée en puissance horizontale aussi grande, avec au passage une disponibilité inégalée de 99,999% ! Les domaines qui seront intéressés par ces prouesses sont nombreux : assurance, finance, télécom, facturation, jeu vidéo, e-commerce…

Cloud Spanner s’appuie sur la scalabilité horizontale

Avec une base de données traditionnel, lorsque les temps de réponse de la base de données se rapprochent ou dépassent des seuils d’application prédéfinis, il existe plusieurs moyens de ramener les temps de réponse à des niveaux acceptables. Toutefois, la majorité de ces solutions sont manuelles.

Première possibilité : examiner les paramètres de performance de la base de données et les ajuster pour qu’ils correspondent au mieux aux cas d’utilisation des applications.

Deuxième possibilité : faire évoluer la base de données verticalement ou horizontalement.

La scalabilité verticale d’une application implique la mise à niveau du serveur. Ceci se fait en ajoutant plus de processeurs, de la RAM, des disques plus rapide, etc. L’ajout de ressources matérielles améliore les performances de la base de données.

La scalabilité verticale présente des défauts, mais le plus important est la taille maximale d’un serveur. Dès que l’on atteint la limite de la plus grande instance de serveur, il n’y a plus qu’une seule solution : la scalabilité horizontale.

La scalabilité horizontale est une approche qui consiste à ajouter des serveurs supplémentaires au cluster hébergeant la base de données. L’objectif est d’augmenter les performances de la base de données de manière linéaire en fonction du nombre de serveurs ajoutés.

La plupart des systèmes de base de données traditionnels ne sont pas bien construits pour supporter la scalabilité horizontale. Par exemple, MySQL ne supporte pas la scalabilité horizontale pour les opérations d’écriture.

En raison de sa conception, Cloud Spanner peut facilement évoluer horizontalement avec un minimum d’intervention.

Liens intéressants

Liens externes