Réplication et performance

L'activation de la réplication affecte les performances d'une instance Bigtable. L'effet est positif pour certaines métriques et négatif pour d'autres. Vous devez comprendre les impacts potentiels sur les performances avant de décider d'activer la réplication.

Débit en lecture

La réplication peut améliorer le débit de lecture, en particulier lorsque vous utilisez le routage multicluster. En outre, la réplication peut réduire le temps de latence en lecture en rapprochant géographiquement vos données Bigtable des utilisateurs de votre application.

Débit en écriture

Bien que la réplication puisse améliorer la disponibilité et les performances de lecture, elle n'augmente pas le débit en écriture. Une écriture sur l'un des clusters doit être répliquée sur tous les autres clusters de l'instance. En conséquence, chaque cluster utilise des ressources processeur pour extraire les modifications des autres clusters. Le débit en écriture peut en fait diminuer car la réplication nécessite que chaque cluster effectue un travail supplémentaire.

Par exemple, supposons que vous ayez une instance à cluster unique et que le cluster possède trois nœuds :

Instance à cluster unique comportant trois nœuds

Si vous ajoutez des nœuds au cluster, l'effet sur le débit en écriture est différent de si vous activez la réplication en ajoutant un deuxième cluster à trois nœuds à l'instance.

Ajout de nœuds au cluster d'origine : vous pouvez ajouter 3 nœuds au cluster pour atteindre un total de 6 nœuds. Le débit en écriture de l'instance double, mais les données de l'instance ne sont disponibles que dans une zone.

Instance à cluster unique comportant six nœuds

Avec réplication : vous pouvez également ajouter un deuxième cluster avec trois nœuds, pour un total de six nœuds. L'instance écrit maintenant chaque élément de données deux fois : lorsque l'écriture est reçue pour la première fois et à nouveau lorsqu'elle est répliquée sur l'autre cluster. Le débit en écriture n'augmente pas et peut diminuer, mais vous bénéficiez d'une meilleure disponibilité de vos données (dans deux zones différentes).

Instance à deux clusters comportant six nœuds

Dans ces exemples, l'instance à cluster unique peut gérer deux fois le débit en écriture que l'instance dupliquée peut gérer, même si les clusters de chaque instance ont un total de six nœuds.

Latence de réplication

Lorsque vous utilisez le routage multicluster, la réplication pour Bigtable est cohérente à terme. En règle générale, la réplication de données sur une distance plus longue prend plus de temps. Les clusters dupliqués dans différentes régions ont généralement une latence de réplication supérieure à celle des clusters dupliqués dans la même région.

Utilisation des nœuds

Comme expliqué dans la section Débit en écriture, lorsqu'une instance utilise la réplication, chaque cluster de l'instance doit gérer le travail de réplication en plus de la charge qu'elle reçoit des applications. Pour cette raison, le cluster d'une instance multicluster nécessite souvent plus de nœuds qu'un cluster d'une instance à cluster unique avec un trafic similaire.

Profils d'application et routage du trafic

Selon votre cas d'utilisation, vous utilisez un ou plusieurs profils d'application pour acheminer votre trafic Bigtable. Chaque profil d'application utilise un routage multicluster ou à cluster unique. Le choix du routage peut affecter les performances.

Le routage multicluster peut réduire la latence. Un profil d'application avec un routage multicluster achemine automatiquement les requêtes vers le cluster d'une instance le plus proche du point de vue de l'application. Les écritures sont ensuite dupliquées sur les autres clusters de l'instance. Ce choix automatique de la distance la plus courte entraîne une latence la plus faible possible.

Un profil d'application qui utilise le routage à cluster unique peut être optimal pour certains cas d'utilisation, comme la séparation des charges de travail ou pour avoir une sémantique de lecture après écriture sur un seul cluster. Toutefois, il ne réduira pas la latence contrairement au routage multicluster.

Pour comprendre comment configurer vos profils d'application pour ces cas d'utilisation et d'autres, consultez la page Exemples de paramètres de réplication.

Supprimer des plages de lignes

Si possible, évitez de supprimer une plage de lignes dans une instance qui utilise la réplication, car l'opération est lente et l'utilisation du processeur augmente pendant l'opération.

Étapes suivantes