VT2017 Vitess

From air
Jump to navigation Jump to search

Présentation

Logo de Vitess
  • Sujet : Vitess
  • Auteur : Oriane Dalle
  • Enseignants : Didier Donsez, Georges-Pierre Bonneau
  • Date : 29/09/2017




Résumé

Les bases de donnée des sites web deviennent de plus en plus importante, cela entraîne des complications comme la perte de performance lors d'appel de requête mais aussi la gestion de la base devient de plus en plus ingérable. Vitess est une technologie qui permet de mettre à l'échelle une base de donnée MySQL, ce qui lui permet de rester performante et gérable. Elle regroupe les grands avantages du MySQL en y alliant la mise à l'échelle du NoSQL, cela se base sur un découpage de la base de données de façon organisé mais aussi sur une topologie de la base de données qui permet de mieux orienter les requêtes. Vitess propose aussi un grand nombre d'outils .. [TODO]

Abstract

Synthèse

Contexte

Vitess est un projet open-source qui a vu le jour, grâce à Sugu Sougoumarane et Mike Solomon, en 2011 suite à l’expansion de YouTube. La taille de la base de donnée de Youtube ainsi que le nombre de connexion journalière étaient devenu trop important pour assurer la performance de la base de donnée et la gérer convenablement.

Deux solutions s'offrait à eux : Faire de la "scalabilité verticale" ou de la "scalabilité horizontale".

La scalabilité verticale revient à acheter une machine encore plus puissante afin de pouvoir gérer plus de données et plus de requêtes. Cette solution à évidement des limites visibles. La deuxième solution, qui est celle de Vitess, est la scalabilité horizontale, utilise le "Sharding" ou autrement dit la "distribution des données". Cette technique vise à repartir la base de données sur plusieurs machines de façon ordonné afin de mieux redirigé les requêtes faites sur la base. De cette façon Vitess à pu augmenter 50 fois la taille de la base de donné de Youtube, tout en la rendant plus facilement administrable.

Differences avec le MySQL

Differences avec le NoSQL

Positionnement entre le MySQL et le NoSQL

Sharding

Architecture

Conclusion

Bibliographie/Webographie