Trace Id is missing
Ignorez la navigation

Scale-up et scale-out

Présentation de la scalabilité des bases de données dans le cloud computing

Des données, des données partout : ce dont nous parlons quand nous parlons de scalabilité

La scalabilité dans le cloud computing est la possibilité d’augmenter et de réduire rapidement et facilement la taille ou la puissance d’une solution ou d’une ressource informatique. Bien que le terme « scalabilité » puisse faire référence à la capacité d’un système à gérer une quantité croissante d’opérations, lorsque nous réfléchissons à effectuer un scale-up ou scale-out, nous faisons souvent référence à de très nombreuses bases de données et données.

La scalabilité des bases de données est primordiale pour les développeurs d’applications modernes. Supposons qu’une nouvelle application soit en plein essor et que la demande passe d’une poignée d’utilisateurs à des millions d’utilisateurs dans le monde entier. L’une des fonctionnalités les plus importantes pour aider les développeurs d’applications à suivre la demande et réduire au minimum le temps d’arrêt est la possibilité d’effectuer une mise à l’échelle efficacement.

Dans cette conversation sur le scale-out et le scale-up, nous nous concentrons sur la façon dont la scalabilité nous aide à adapter et à gérer le volume considérable et la vaste gamme de données, en modifiant les volumes de données et en déplaçant les modèles de charge de travail, tous générés à partir du nuage, des appareils mobiles, des réseaux sociaux et des Big Data.

Une femme effectue une présentation tandis que d’autres personnes assises sur leur chaise l’écoutent

Scale-out et scale-up

Au niveau le plus basique, la scalabilité des bases de données peut être divisée en deux types :

La mise à l’échelle verticale, ou scale-up/scale-down, où vous augmentez ou diminuez la puissance de calcul ou les bases de données en fonction des besoins, soit en modifiant les niveaux de performances, soit en utilisant des pools de bases de données élastiques pour ajuster automatiquement les exigences de vos charges de travail.

La mise à l’échelle horizontale, ou scale-in/scale-out, où vous ajoutez des bases de données ou divisez votre base de données volumineuse en nœuds plus petits, à l’aide d’une approche de partitionnement des données appelée partitionnement, qui peuvent être gérés plus rapidement et plus facilement sur plusieurs serveurs.

Scale-up vertical

La mise à l’échelle verticale est utilisée lorsque vous devez réagir rapidement pour résoudre un problème de performances que vous ne pouvez pas résoudre à l’aide des techniques d’optimisation de base de données classiques, telles que les modifications de requête ou l’indexation. Le scale-up est utile pour gérer les pics dans vos charges de travail où le niveau de performance actuel ne peut pas satisfaire à toutes les demandes. Le scale-up vous permet d’ajouter des ressources pour gérer facilement les pics de charge de travail. Ensuite, lorsque les ressources ne sont plus nécessaires, vous pouvez effectuer un scale-down pour revenir à l’état d’origine et réaliser des économies sur les coûts du nuage.

Effectuez un scale-up dans les cas suivants :

Scale-out horizontal

Les développeurs d’applications commencent à envisager un scale-out ou une mise à l’échelle horizontale lorsqu’ils ne peuvent pas obtenir suffisamment de ressources pour leurs charges de travail, même sur les niveaux de performances les plus élevés. Avec la mise à l’échelle horizontale, les données sont divisées en plusieurs bases de données, ou partitions, sur plusieurs serveurs, et chaque partition peut bénéficier d’un scale-up de manière indépendante.

En quoi le partitionnement des données améliore-t-il la scalabilité ? Lorsque vous effectuez le scale-up d’une base de données unique en ajoutant des ressources telles que des machines virtuelles, une limite matérielle physique est atteinte à un moment donné. Étant donné que chaque partition de données est hébergée sur un serveur distinct, si vous divisez les données entre plusieurs partitions, vous pouvez effectuer le scale-out d’un système de façon presque illimitée.

Certains types de technologies de base de données, notamment les bases de données NoSQLou les bases de données non relationnelles, sont développés avec des fonctionnalités uniques pour effectuer un scale-out horizontal des données via le partitionnement de base de données, ce qui leur permet de gérer des données volumineuses, non liées, indéterminées ou qui évoluent rapidement.

De plus, certains services de base de données relationnelles (SQL) qui offraient à l’origine des services de scale-up/scale-down commencent à offrir des options passionnantes pour égaler les avantages des bases de données non relationnelles en termes de scalabilité. Les services Hyperscale tels que Microsoft Azure SQL Database Hyperscale et Azure Database pour PostgreSQL Hyperscale permettent aux utilisateurs de mettre à l’échelle rapidement le stockage jusqu’à 100 To, offrent une architecture flexible et native du nuage (ce qui permet au stockage de croître en fonction des besoins) et activent des sauvegardes quasi instantanées et des restaurations de bases de données rapides en quelques minutes seulement.

Effectuez un scale-out dans les cas suivants :

Mise à l’échelle automatique

La mise à l’échelle automatique est le processus de mise en correspondance automatique et dynamique des ressources pour répondre aux besoins de performances d’un système. Lorsque le volume de travail croît, les applications peuvent avoir besoin de ressources supplémentaires pour maintenir les niveaux de performances nécessaires ou répondre à la demande croissante. Si la demande ralentit et que les ressources supplémentaires ne sont plus nécessaires, vous pouvez réduire les dépenses nuage en faisant en sorte qu’un service automatique soit mis en place pour libérer des ressources inutilisées.

La mise à l’échelle automatique tire parti de l’élasticité des environnements hébergés dans le nuage. Elle allège les contraintes de gestion en réduisant le besoin pour les opérateurs système de prendre en permanence les décisions relatives à l’ajout ou à la suppression de ressources ou à la vérification des performances du système.

Bien qu’il existe deux façons de mettre à l’échelle verticalement ou horizontalement des applications, il est moins courant d’automatiser la mise à l’échelle verticale, car une opération de scale-up requiert souvent que le système soit temporairement indisponible pendant son redéploiement.

La mise à l’échelle automatique est plus courante lors d’une mise à l’échelle horizontale, car effectuer un scale-out ou scale-in signifie tout simplement ajouter ou supprimer des instances d’une ressource afin que votre application continue de s’exécuter sans interruption lorsque de nouvelles ressources sont provisionnées. Si la demande baisse, les ressources peuvent être arrêtées sans interruption et libérées.

De nombreux fournisseurs de systèmes basés sur le nuage, notamment Microsoft Azure, prennent en charge la mise à l’échelle horizontale automatique.

  • Une base de données est une collection d’informations liées qui sont stockées et organisées de façon à faciliter leur gestion et leur accès. Alors que de nouveaux types de données et de nouvelles données sont générés à un rythme vertigineux, il devient difficile de garder ces données organisées, accessibles et sécurisées. Les systèmes de gestion de base de données (SGBD), qui incluent une couche d’outils de gestion, sont souvent utilisés pour gérer de gros volumes de données.

    De nouvelles technologies et de nouveaux types de base de données émergent constamment pour s’adapter au volume considérable et à la grande variété de données générées à partir du nuage, des médias mobiles, des réseaux sociaux et des Big Data.

    En savoir plus sur les bases de données

  • Les bases de données NoSQL, souvent appelées « non relationnelles » ou "pas uniquement" SQL, sont un ensemble diversifié de technologies de base de données qui gèrent le stockage et la récupération des données différemment d’une base de données relationnelle (SQL) traditionnelle.

    Les bases de données NoSQL n’ont pas besoin d’un schéma prédéfini et peuvent utiliser plusieurs modèles de données, ce qui les rend extrêmement efficaces pour gérer de gros volumes de données non structurées et effectuer la mise à l’échelle des projets de base de données Big Data.

    En savoir plus sur les bases de données NoSQL

  • PostgreSQL est une base de données open source robuste qui fonctionne avec des requêtes relationnelles et non relationnelles, connue pour sa fiabilité et l’intégrité des données. PostgreSQL est largement utilisé dans des domaines tels que les services financiers, l’industrie, les systèmes d’information géographiques et les technologies web. Les développeurs créent des applications avec PostgreSQL, tandis que les administrateurs l’utilisent pour protéger leurs données.

    En savoir plus sur PostgreSQL

  • La mise en cache est une technique courante qu’utilisent les développeurs et les professionnels de l’informatique pour améliorer les performances et la scalabilité d’un système. La mise en cache consiste à copier temporairement des données fréquemment sollicitées dans un stockage rapide situé près de l’application. Si cet espace de stockage rapide des données se trouve plus près de l’application que la source d’origine, la mise en cache peut améliorer sensiblement les temps de réponse des applications clientes en fournissant les données plus rapidement. Les développeurs conçoivent souvent des applications de façon à ce qu’elles mettent en cache les données traitées et redéfinissent ensuite le cache pour traiter les demandes plus rapidement que dans les requêtes de base de données standard.

    En savoir plus sur la mise en cache

  • Le partitionnement de données est un type de partitionnement de données horizontal qui vous permet de diviser une grande base de données en petites bases de données afin de faciliter et d’accélérer leur gestion sur les différents serveurs.

    En savoir plus sur le partitionnement de base de données

  • Une plateforme en tant que service, ou PaaS, est un service d’un fournisseur de nuage qui offre un environnement à la demande pour le développement, le test, la livraison et la gestion d’applications. La plateforme en tant que service permet aux développeurs de créer des applications web ou mobiles plus facilement et plus rapidement, sans avoir se préoccuper de la configuration ou de la gestion de l’infrastructure sous-jacente des serveurs, du stockage, du réseau et des bases de données dont ils ont besoin en tant que développeurs.

    En savoir plus sur PaaS

Explorez la scalabilité du nuage avec Azure

Découvrez une approche complète du scale-up et du scale-in, qui correspond à votre propre scénario dans les environnements locaux, multiclouds et de périphérie. La famille de services de base de données Azure propose plusieurs options de bases de données relationnelles, NoSQL et en mémoire complètement managées, couvrant des moteurs propriétaires et open source, pour répondre aux besoins des développeurs d’applications modernes.

Gagnez du temps et de l’argent avec la gestion automatisée de l’infrastructure, notamment les solutions d’automatisation pour la scalabilité, la disponibilité et la sécurité.

Des personnes discutent, leurs ordinateurs portables ouverts devant eux

Produits et services associés

Azure SQL

Famille de bases de données nuage SQL offrant des options flexibles pour la migration, la modernisation et le développement d’applications.

Azure Cosmos DB

Base de données NoSQL rapide avec API ouvertes, adaptée à toutes les échelles.

Azure PostgreSQL

Base de données PostgreSQL intelligente, scalable et complètement managée.

Azure SQL Database

Base de données SQL gérée et intelligente dans le nuage.

Azure SQL Managed Instance

Instance SQL gérée et toujours à jour dans le nuage.

SQL Server sur les machines virtuelles

Migrez les charges de travail SQL Server dans le nuage au moindre coût TCO.

Azure Database pour MySQL

Base de données MySQL complètement managée et scalable.

Azure Maria DB

Service de base de données MariaDB gérée pour les développeurs d’applications.

Azure Cache pour Redis

Accélérez les applications avec une mise en cache des données à débit élevé et à latence faible.

Si vous êtes prêt, configurons votre compte gratuit