Qu'est-ce que la réplication de données ?

Cette page couvrira les points suivants pour vous aider à mieux comprendre la réplication de données :

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 au sein de 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 versus bidirectionnel : Une relation unidirectionnelle signifie que les données circulent uniquement d'une source vers une destination. Une relation bidirectionnelle signifie que les données circulent dans les deux sens.

Actif-actif contre actif-passif : Un actif-actif Le cluster distribue 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 versus asynchrone : La réplication synchrone écrit les données simultanément sur le nœud principal et 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 les données par groupes ou par lots à intervalles réguliers, et il convient généralement 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émentale 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 d'une source peuvent être filtrées de manière à ce que seul 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 des données d'un format ou d'une structure à un autre afin de les mettre dans le format et la structure corrects 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. Celles-ci comprennent :

Haute disponibilité (HA) 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.

Récupération après sinistre (RS) Étroitement lié à la haute disponibilité, la reprise après sinistre garantit que des copies de vos données sont disponibles en cas de catastrophe.

Mise à l'échelle 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 appelée indexation, cela consiste à répliquer les données vers un autre système pour y accéder différemment. Le deuxième système peut être soit à l'intérieur de la même base de données (dans le cas de l'indexation), soit externe. En fonction des 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 une sauvegarde à jour avec des modifications. Un point clé à comprendre est que la réplication de données est susceptible de corruption au niveau de l'application ou de suppression de données, contrairement aux sauvegardes. 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 haute disponibilité ou la reprise après sinistre 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 partitions (le Théorème CAP)
  • Utilisation des ressources et coûts (RAM, disque, CPU, réseau)

Par exemple :

  • La maintenance de plusieurs répliques augmente la sécurité de vos données en cas de pannes, mais entraîne une utilisation des ressources et un coût plus élevés. Il en va de même pour la mise à l'échelle des lectures avec plusieurs répliques.
  • La réplication synchrone peut ralentir (ou même é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 destinations, quelle que soit la rapidité ou la fiabilité de votre technologie de réplication.
  • La réplication incrémentale, 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 un processeur plus performant 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 logs, ce qui consiste à envoyer les données d'une instance de base de données à une autre après qu'elles aient été écrites sur disque. Les bases de données plus récentes, telles que les Couchbase base de données NoSQL, répliquer les données directement 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)

Capella App Services (BaaS)

Consultez notre hub de base de données pour en apprendre davantage sur d'autres concepts clés de la gestion de données.