Le 11 décembre 2019, j'ai pu assisté a une conférence dans le domaine des base de données et de leur pertes présenter par Laetitia Avrot, une senior Database consultant chez EntrepriseDB. j'ai trouvé la conférence très intéressante donc je vais essayer de vous faire un résumé.

 

Ça conférence était sur le Théorème de CAP qui montre pourquoi il est impossible d'avoir 99,999% de disponibilité sur une base de données. Pour commencer, une base de données est la ou toute les données de chaque site ou applications se trouve, cela sert pour stockée et renvoyer les données entre l'applications et elle même, comme exemple lorsque vous entrer vos identifiants sur Facebook, le site va faire une requètes a une base de données pour voir si ce que vous avez marqué corresponds avec vos identifiant et vous laisse ensuite accéder a votre compte.

Laetitia a donc commencer par nous montrer les temps d'indisponibilité d'une base de données par rapport a comment on veut qu'elle opère:

Pour 100% de disponibilité, aucune perte n'est toléré donc aucun temps de manoeuvre est autorisé sur la base de données,

Pour 99,999% de disponibilité, moins de 0,9 seconde de perte par jour sont autorisé, soit 6 seconde par semaine ou bien 5 min par an,

Pour 99,99% de disponibilité, moins de 9 seconde de perte par jour sont autorisé, soit 1 minute par semaine ou bien 2 jours par an.

Ces chiffres montre une disponibilité grande mais impossible car des maintenance peuvent être nécessaire sur ces dites base de données, Les entreprise s'accordent donc 2 heures par nuit, ce qui nous fait 14 heures par semaine ou 30 jours dans l'année.

Ces pertes de données sont autorisé pour pouvoir faire des maintenance sur les composants et les alentours, comme la speaker disait avec son diaporama, une base de donnée est une voiture et tout peu cassé, que ce soit l'OS ou bien le matériels qui détient la base de donnée. Il y a aussi tout le coter application qui peu tomber en panne, donc si il n'y a pas d'application, le client ne peu pas accéder au données, ce qui fait de la perte de donnée aussi si elle ne marche pas.

Dans la recherche a la 100% de disponibilité un théorème a été crée pour montrer que c'est impossible de l'avoir, c'est le théorème CAP:

Cohérence (consistency): chaque noeud verra la derniere version des donnée validé,

Disponibilité (availability): le système répondra toujours quelque chose de différents autre qu'un message d'erreur,

Tolérance de Partition: le réseaux sera autorisé a perdre arbitrairement des messages envoyé d'un noeud a un autre sans altéré les réponse du système.

Ce théorème montre que avoir ces trois critères marchant a 100% est impossible, il est donc conseillé d'avoir deux critère qui marche a 100% et le troisième devra etre la mais pas opératif a 100% car c'est impossible. 

 

Voila pourquoi il est impossible d'avoir 99,999% de disponibilité avec les bases de données, d'ou la recherche des licornes car il serait plus probable de voir une licorne que d'atteindre ce chiffre.