La mise à l'échelle horizontale signifie que vous mettez à l'échelle en ajoutant plus de machines dans votre pool de ressources tandis que la mise à l'échelle verticale signifie que vous mettez à l'échelle en ajoutant plus de puissance (CPU, RAM) à une machine existante .
Un moyen facile de s'en souvenir est de penser à une machine sur un rack de serveur, nous ajoutons plus de machines dans le sens horizontal et ajoutons plus de ressources à une machine dans le sens vertical .
Dans un monde de base de données, la mise à l'échelle horizontale est souvent basée sur le partitionnement des données, c'est-à-dire que chaque nœud ne contient qu'une partie des données, dans la mise à l'échelle verticale, les données résident sur un seul nœud et la mise à l'échelle se fait via plusieurs cœurs, c'est-à-dire la répartition de la charge entre les ressources CPU et RAM de cette machine.
Avec la mise à l'échelle horizontale, il est souvent plus facile de faire évoluer dynamiquement en ajoutant plus de machines dans le pool existant - La mise à l'échelle verticale est souvent limitée à la capacité d'une seule machine, la mise à l'échelle au-delà de cette capacité implique souvent des temps d'arrêt et s'accompagne d'une limite supérieure.
De bons exemples de mise à l'échelle horizontale sont Cassandra, MongoDB, Google Cloud Spanner .. et un bon exemple de mise à l'échelle verticale est MySQL - Amazon RDS (la version cloud de MySQL). Il fournit un moyen facile de faire évoluer verticalement en passant de petites machines à des machines plus grandes. Ce processus implique souvent des temps d'arrêt.
Les grilles de données en mémoire telles que GigaSpaces XAP , Coherence etc. sont souvent optimisées pour une mise à l'échelle horizontale et verticale simplement parce qu'elles ne sont pas liées au disque. Mise à l'échelle horizontale par partitionnement et mise à l'échelle verticale par prise en charge multicœur.
Vous pouvez en savoir plus sur ce sujet dans mes articles précédents:
Scale-out vs Scale-up et Les principes communs derrière les alternatives NOSQL