This is the Trace Id: f1191f901e629ff2bab193abb5f469e3
Passer directement au contenu principal
Azure

Qu’est-ce que le partitionnement horizontal de bases de données ?

Le partitionnement horizontal de bases de données est une méthode de mise à l’échelle horizontale qui augmente les performances et la disponibilité des solutions dans tous les systèmes distribués à l’échelle mondiale.

Définition du partitionnement horizontal de bases de données

Le partitionnement horizontal de bases de données désigne le processus de division d’une base de données volumineuse en segments plus petits et plus faciles à gérer appelés partitions. Il prend en charge la mise à l’échelle horizontale pour que les applications et les systèmes puissent gérer des volumes croissants de données et d’utilisateurs sans affecter les performances ni la disponibilité. Les organisations utilisent des stratégies de partitionnement horizontal pour surmonter les contraintes de stockage et d’autres défis liés à la mise à l’échelle des bases de données dans des environnements cloud modernes.

  • Le partitionnement horizontal de bases de données est défini comme une méthode de mise à l’échelle horizontale qui divise une base de données en partitions indépendantes s’exécutant sur une architecture sans partage (SNA).
  • Les données sont réparties entre les partitions en utilisant des clés de partition qui permettent aux applications d’acheminer les requêtes vers les partitions appropriées.
  • Les données sont couramment réparties entre les partitions en tirant parti de valeurs numériques, de fonctions de code de hachage, de répertoires de recherche ou d’emplacements géographiques.
  • Les avantages du partitionnement horizontal de bases de données incluent une amélioration des performances des requêtes, un support de la mise à l’échelle horizontale et une meilleure tolérance de panne.
  • Les cas d’utilisation du partitionnement horizontal incluent la banque, le commerce électronique et les plateformes de réseaux sociaux qui doivent souvent gérer une croissance rapide ou des pics de données ou d’utilisateurs.

Comment fonctionne le partitionnement horizontal de bases de données ?

Le partitionnement horizontal de bases de données est une technique utilisée pour mettre à l’échelle horizontalement de larges bases de données en les divisant en morceaux plus petits et indépendants appelés partitions. Chaque partition fonctionne comme une base de données distincte contenant un sous-ensemble spécifique des données globales tout en conservant le même schéma. Cela permet aux partitions de former collectivement une base de données logique unique même s’ils fonctionnent sur des serveurs distincts.

Le partitionnement horizontal de bases de données suit une architecture sans partage (SNA), un modèle de traitements distribués où chaque partition fonctionne de manière autonome sans partager les ressources de traitement, de mémoire ou de stockage avec les autres partitions.

Une clé de partition, un champ spécifique ou une combinaison de champs dans les données, détermine les données qui sont stockées sur chaque partition. Lorsqu’une application doit lire ou écrire des données, elle utilise la clé de partition pour acheminer la requête vers la partition appropriée.

Stratégies de partitionnement horizontal

Les organisations gèrent les données distribuées sur plusieurs partitions de différentes manières. Voici quelques stratégies courantes :

  • Partitionnement horizontal basé sur des plages ou dynamique : les données sont divisées selon des plages de valeurs dans la clé de partition. Par exemple, une partition dans une base de données de commerce électronique peut être attribuée aux numéros d’identification client allant de 1 à 1 000 000 et une autre partition aux numéros d’identification client allant de 1 000 001 à 2 000 000. Cette méthode est efficace pour les requêtes par plage, mais elle peut entraîner une répartition inégale si certaines plages sont consultées plus fréquemment.
  • Partitionnement horizontal basé sur le code de hachage :les données sont réparties uniformément entre les partitions en appliquant une formule mathématique appelée fonction de code de hachage à chaque clé de partition. Cette approche permet d’éviter la surcharge mais peut disperser des données liées sur plusieurs partitions, rendant les requêtes par plage moins efficaces.
  • Partitionnement horizontal basé sur un répertoire ou la recherche : une carte des partitions indique les clés de partition qui correspondent à des données particulières. Cette stratégie offre la possibilité d’ajouter rapidement d’autres clés de partition, le cas échéant, mais elle ajoute une complexité et des frais possibles.
  • Partitionnement horizontal géo : les données sont partitionnées en fonction de l’emplacement géographique, réduisant la latence pour les utilisateurs de différentes régions et respectant les exigences de résidence des données. De nombreuses plateformes couplent le partitionnement horizontal géo à la réplication de base de données pour bénéficier d’une résilience supérieure.

En savoir plus sur les bases de données.

Quels sont les principaux avantages du partitionnement horizontal de bases de données ?

Le partitionnement horizontal de bases de données nécessite une sélection soigneuse des clés de partition, une stratégie de partitionnement, ainsi qu’une optimisation du routage des requêtes. Voici quelques avantages clés du partitionnement horizontal de bases de données :

  • Améliore les performances des requêtes :en répartissant les données sur plusieurs partitions, les bases de données peuvent récupérer plus rapidement l’ensemble de données nécessaire à l’exécution de chaque requête. Cela occasionne des temps de réponse plus rapides.
  • Prend en charge la mise à l’échelle horizontale : plutôt que de mettre à l’échelle la capacité des ressources sur un seul serveur, les organisations peuvent gérer des volumes croissants de données et de charges de travail en effectuant un scale-out et en ajoutant d’autres partitions (et serveurs). En savoir plus sur le scale-up vs scale-out.
  • Renforce la tolérance de panne : le partitionnement horizontal utilisant une approche SNA, chaque partition est isolée des autres. Tout problème affectant une partition n’affecte pas les autres, ce qui améliore la fiabilité du système. La réplication des données entre les partitions protège davantage la disponibilité.
  • Favorise l’efficacité des coûts :les partitions de données ont moins d’exigences matérielles et logicielles que les grandes bases de données qui nécessitent souvent des serveurs coûteux et haut de gamme.

Permet d’optimiser les charges de travail d’IA : les bases de données complexes et monolithiques peuvent ralentir la capacité de l’IA à accéder aux données, à faire des prédictions et à apprendre au fil du temps. Le partitionnement horizontal favorise la création d’un environnement distribué enrichi en données où l’IA peut fonctionner plus efficacement.

Exemples propres à un secteur d’activité du partitionnement horizontal de bases de données

Le partitionnement horizontal de bases de données est particulièrement utile pour les solutions cloud qui connaissent une croissance rapide ou des pics imprévisibles de données ou de trafic utilisateur. Les cas d’utilisation suivants illustrent les façons dont le partitionnement horizontal peut être appliqué dans différents secteurs d’activité :

  • Commerce électronique : les plateformes de vente au détail répartissent les données clients et commandes entre les partitions, assurant ainsi des recherches de produits rapides et une expérience de paiement transparente pendant les périodes d’achat à forte affluence.
  • Services financiers : les enregistrements des opérations bancaires et autres transactions financières sont divisés par date ou numéro de compte, ce qui permet une efficacité des requêtes et un stockage sécurisé et évolutif.
  • Jeux en ligne : les données des joueurs ou des sessions sont divisées par région et ID utilisateur, équilibrant les charges entre les partitions et minimisant la latence (le temps nécessaire aux données pour atteindre leur destination) pour les audiences mondiales.
  • Réseaux sociaux : les plateformes des réseaux sociaux divisent les données des profils utilisateurs et des flux d’activité par identifiant utilisateur ou intervalle de temps. Cette approche permet à la plateforme d’interroger rapidement les publications récentes et de prendre en charge des millions d’utilisateurs en même temps.
  • Logiciel en tant que service (SaaS) : les applications SaaS à plusieurs locataires divisent couramment les données par ID de locataire, ce qui isole les données des clients et simplifie la gestion à mesure que la base d’utilisateurs s’élargit. Elles peuvent aussi les diviser par charge de travail de locataires ou emplacement géographique.

En savoir plus sur le fonctionnement des analyses du Big Data.

L’avenir du partitionnement horizontal de bases de données

En répartissant les données sur plusieurs serveurs indépendants, le partitionnement horizontal réduit la charge sur un serveur unique, minimise les goulots d’étranglement et améliore la disponibilité et la réactivité du système. Les avantages du partitionnement horizontal de bases de données dans les environnements cloud modernes ne feront que croître à mesure que l’IA et d’autres technologies connexes continueront d’évoluer.

Les tendances à surveiller incluent les éléments suivants :

Workflows de partitionnement horizontal assistés par IA

Les fonctionnalités intelligentes, telles que la sélection automatisée des clés de partition, le rééquilibrage des charges de travail et le routage des requêtes, deviendront plus courantes.

Avantage : opérations simplifiées et optimisées et évolutivité sans précédent

Nouveau partitionnement horizontal sans temps d’arrêt

Les plateformes de données modernes prendront de plus en plus en charge les modifications de clés de partition sans nécessiter de temps d’arrêt ni de migrations complexes des données.

Avantage : une plus grande flexibilité pour mettre à jour les stratégies de partitionnement horizontal au fil de l’évolution des charges de travail

Partitionnement horizontal associé à des bases de données serverless

Les bases de données serverless approvisionnent et gèrent indépendamment les serveurs pour chaque partition. Elles effectuent également un scale-up ou scale-down de la capacité à la demande en fonction des requêtes déclenchées par des événements.

Avantage : réduction des frais d’exploitation

Partitionnement horizontal géo adaptatif piloté par des stratégies

Les workflows automatisés de partitionnement horizontal routent automatiquement les données entre les partitions géographiques en fonction des règles de stratégie géo spécifiques intégrées dans le code. Avantage : conformité plus rapide aux exigences réglementaires et de confidentialité changeantes

En savoir plus sur le cloud computing.

Questions fréquentes

  • Le partitionnement horizontal de bases de données constitue le processus de mise à l’échelle horizontale d’une grande base de données sur plusieurs serveurs, chacun hébergeant une partition avec un sous-ensemble distinct des données globales. Le partitionnement horizontal est utilisé pour gérer efficacement l’augmentation des volumes de données et du trafic des utilisateurs en répartissant les requêtes et le stockage sur plusieurs machines plutôt que de dépendre d’un seul grand serveur.
  • Le partitionnement horizontal et le partitionnement optimisent les opérations de base de données en divisant une grande base en sous-ensembles plus petits. Toutefois, alors que le partitionnement divise les données sur un même serveur, le partitionnement horizontal distribue les données sur plusieurs serveurs. La réplication consiste à maintenir plusieurs copies du même ensemble de données sur différents serveurs pour assurer la redondance. 
  • Oui, le partitionnement horizontal de bases de données améliore les performances et la scalabilité des applications. En répartissant les données et les charges de travail entre les partitions, le partitionnement horizontal réduit les temps de réponse aux requêtes et augmente la tolérance de panne. Les organisations peuvent également mettre à l’échelle leurs applications horizontalement. Le choix des clés de partition et des stratégies de partition est essentiel pour optimiser le partitionnement horizontal des données.
  • Oui, Azure et d’autres plateformes cloud offrent un support intégré pour le partitionnement horizontal de bases de données. Par exemple, Azure SQL Database offre plusieurs outils pour optimiser la mise à l’échelle des bases de données, y compris une bibliothèque de client qui simplifie la création et la gestion des partitions.