Réplication de données
La réplication de données accélère les performances, permet aux organisations d'accéder plus rapidement aux données et améliore la réponse aux sinistres.

La réplication de données est le processus de création et de maintenance de copies multiples d'une base de données afin que les utilisateurs puissent accéder à la copie la plus proche d'eux.
Cette page couvrira les éléments suivants pour vous aider à mieux comprendre la réplication des données :
- Termes de réplication de données
- Avantages de la réplication de données
- Défis de la réplication de données
- Réplication de données dans les SGBDR
- Conclusion
La réplication de données est le processus de copie d'un ou plusieurs enregistrements d'un endroit à un autre. Ces endroits peuvent être très similaires (comme copier des fichiers dans la même base de données) ou plus distincts (comme copier des données d'une base de données à une autre). Le terme réplication de données implique généralement de maintenir les données à jour de la source vers la destination, mais la vitesse et le niveau d'automatisation de la réplication peuvent avoir un impact sur la cohérence des données.
Termes de réplication de données
Voici une liste de termes courants pour vous aider à comprendre la réplication de données :
Unidirectionnel contre bidirectionnel : Une relation unidirectionnelle signifie que les données circulent d'une source vers une destination uniquement. Une relation bidirectionnelle signifie que les données circulent dans les deux sens.
Actif-actif versus actif-passif : Un actif-actif un cluster répartit uniformément les charges sur tous les nœuds à tout moment. En revanche, un cluster actif-passif dispose d'un nœud de secours qui prend le relais uniquement si le nœud actif est surchargé.
Synchrone ou asynchrone : La réplication synchrone écrit simultanément les données sur le nœud principal et sur la réplique. La réplication asynchrone écrit d'abord les données sur le nœud principal, puis les copie sur la réplique.
Traitement par lots versus traitement en temps réel : Le traitement par lots collecte et traite des données en groupes ou en lots à intervalles réguliers, et il est généralement adapté au traitement de grands volumes de données. Le traitement en temps réel traite les données au fur et à mesure de leur génération ou de leur réception, ce qui le rend adapté aux applications sensibles au temps.
Incrémental ou complet : La réplication incrémentielle des données signifie que vous ne répliquez que les éléments mis à jour d'un enregistrement. La réplication complète des données signifie que vous répliquez l'intégralité de l'enregistrement lorsque ses éléments changent.
Filtré Les données provenant d'une source peuvent être filtrées de sorte qu'un sous-ensemble ou une sélection spécifique des données soit répliqué vers une destination.
Transformé : La transformation des données est le processus de conversion de données d'un format ou d'une structure à un autre afin de les mettre dans le bon format et la bonne structure pour l'analyse, le reporting ou le stockage à leur destination.
Avantages de la réplication de données
La réplication de données a Nombreuses utilisations et avantages. Ceux-ci incluent :
Haute disponibilité (HD) : Maintenir des copies à jour des données dans plusieurs emplacements permet d'éviter la perte de données en cas de défaillance. Généralement, la réplication en temps réel est unidirectionnelle et s'effectue entre une source et une ou plusieurs répliques. Si la source devient indisponible, l'une des répliques prend le relais, souvent automatiquement.
Reprise après sinistre (RAS) : Étroitement lié à la haute disponibilité, la reprise après sinistre garantit que des copies de vos données sont disponibles en cas de catastrophe.
Augmentation du débit : Ce processus utilise plusieurs copies de données pour augmenter la capacité d'un système à traiter les requêtes. Il est généralement utilisé pour le trafic de lecture et moins couramment pour le trafic d'écriture.
Accès secondaire : Également connu sous le nom d'indexation, cela implique la réplication des données vers un autre système afin d'y accéder différemment. Le second système peut être situé au sein de la même base de données (dans le cas de l'indexation) ou être externe. Selon les technologies utilisées, un intermédiaire tel que Kafka il est parfois nécessaire de transférer les données entre une source et un système externe.
Remarque : Nous avons intentionnellement exclu la “ sauvegarde ” comme avantage de la réplication de données, car vous ne mettez pas à jour une sauvegarde avec des modifications. Un point essentiel à comprendre est que la réplication de données est sensible à la corruption ou à la suppression de données au niveau de l'application, alors que les sauvegardes ne le sont pas. Les sauvegardes ne doivent pas être considérées comme un remplacement de la haute disponibilité (HA) ou de la reprise après sinistre (DR), pas plus que la HA ou la DR ne doivent remplacer les sauvegardes.
Défis de la réplication de données
Avec toute stratégie de réplication de données, vous serez obligé de faire des compromis entre :
- Vitesse
- Cohérence, disponibilité et tolérance aux pannes (le Théorème CAP)
- Utilisation et coût des ressources (RAM, disque, CPU, réseau)
Par exemple :
- Maintenir plusieurs répliques augmente la sécurité de vos données en cas de pannes, mais entraîne une utilisation accrue des ressources et des coûts. Il en va de même pour la mise à l'échelle des lectures avec plusieurs répliques.
- La réplication synchrone peut ralentir (ou échouer complètement) les écritures sources. Cependant, la réplication asynchrone peut entraîner une utilisation accrue des ressources si vous écrivez des enregistrements plus rapidement que vous ne pouvez les répliquer. La réplication asynchrone introduit également un risque de divergence entre les données sources et de destination, quelle que soit la rapidité ou la fiabilité de votre technologie de réplication.
- La réplication incrémentielle, filtrée et transformée peut entraîner une utilisation moindre des ressources réseau, mais ces types de réplication ont tendance à fonctionner plus lentement et nécessitent une unité centrale plus performante pour la source.
Les meilleures pratiques en matière de réplication de données varient considérablement en fonction des exigences de votre cas d'utilisation et des capacités des technologies que vous utilisez.
Réplication de données dans les SGBDR
Chaque technologie de base de données offre des capacités et des options différentes pour la réplication des données. Historiquement, les systèmes de gestion de bases de données relationnelles (SGBDR) répliquent les données d'une instance de base de données à une autre par expédition de journaux (log shipping), qui consiste à envoyer les données d'une instance de base de données à une autre après leur écriture sur disque. Les bases de données plus récentes, telles que la Couchbase Base de données NoSQL, répliquent directement les données depuis la RAM, augmentant considérablement la vitesse et la fiabilité.
Conclusion
La réplication de données est un concept fondamental qui sous-tend de nombreuses capacités de base de données différentes, et la réplication prend de nombreuses formes différentes avec des défis et des avantages variés. Le meilleur choix de réplication de données pour votre organisation dépend de ce que vous devez accomplir et des technologies que vous utilisez.
Utilisez ces ressources pour en savoir plus sur la réplication de données et les capacités de réplication de données de Couchbase :
Guide de réplication de données dans le cloud
Réplication des données : Avantages et inconvénients
Réplication et synchronisation des données dans Couchbase
Sauvegarde inter-centres de données (Couchbase Capella™)
Réplication inter-centres de données (Couchbase Server)
Consultez notre hub de base de données pour en apprendre davantage sur d'autres concepts clés de la gestion de données.