Ce chapitre porte sur les performances et la scalabilité des bases de données.
Dans ce contexte, j'utilise la définition suivante de la scalabilité :
Le mot anglais « scalability » désigne la capacité d'un produit à s'adapter à un changement d'ordre de grandeur de la demande (montée en charge). En particulier sa capacité à maintenir ses fonctionnalités et ses performances en cas de forte demande.
Vous voyez ici deux définitions. La première concerne les effets d'une charge grandissante et la seconde concerne un système qui grossit pour supporter une charge plus importante.
La deuxième définition est bien plus populaire que la première. Quand une personne parle de scalabilité, cela concerne presque toujours la possibilité d'utiliser plus de matériel. Les termes Scale-up et scale-out sont les mots clés respectifs de ces deux définitions. Ils ont été complétés récemment par des mots très tendance comme web-scale.
En gros, la scalabilité concerne l'impact des performances par rapport à des changements dans l'environnement. Le matériel est un paramètre environnemental qui peut changer. Ce chapitre couvre d'autres paramètres comme le volume de données et la charge du système.