Tous les produits
Search
Centre de documentation

OpenSearch:Latence de synchronisation des données due aux jointures multitable

Dernière mise à jour :Aug 10, 2026

Lorsque vous utilisez des opérations JOIN sur plusieurs tables avec des sources de données ApsaraDB RDS for MySQL ou PolarDB for MySQL, Data Transmission Service (DTS) synchronise la table principale et les tables secondaires vers OpenSearch. Les mises à jour des tables secondaires peuvent générer de nombreuses écritures dans la table principale, ce qui risque de dépasser le débit requis pour une synchronisation en temps réel.

Fonctionnement de l'amplification des écritures

Lors d'une jointure entre une table principale et une table secondaire, OpenSearch génère une table large combinant les enregistrements des deux sources.

Les mises à jour de la table principale suivent une relation un-à-un : chaque ID de clé primaire correspond à exactement un enregistrement dans la table large. Ainsi, la modification d'un enregistrement de la table principale n'affecte qu'un seul enregistrement de la table large.

Les mises à jour des tables secondaires peuvent suivre une relation un-à-plusieurs. Si le ratio entre les enregistrements de la table principale et ceux de la table secondaire est de N:1, un même ID de clé primaire présent dans la table secondaire peut correspondre à N enregistrements dans la table principale. Par conséquent, la mise à jour d'un seul enregistrement de la table secondaire peut déclencher N mises à jour dans la table large.

La figure suivante illustre la jointure entre une table principale et une table secondaire :

image

La figure suivante présente la relation N:1 et son effet cascade sur les mises à jour :

image

Limites de débit

Limite Seuil Conséquence en cas de dépassement
Mises à jour combinées des tables principales et secondaires ≤ 1 500 transactions par seconde (TPS) La synchronisation en temps réel n'est plus garantie pour aucune des tables
Mises à jour des tables secondaires déclenchant des mises à jour de la table principale ≤ 1 000 TPS La synchronisation des données depuis la table principale et les tables secondaires peut subir des retards
Ratio d'enregistrements principal/secondaire (N:1) N ≤ 10 Une valeur N plus élevée amplifie la diffusion des écritures et accroît le risque de dépasser les limites TPS mentionnées ci-dessus

Réduire la latence de synchronisation

En cas de retard de synchronisation, ouvrez un ticket pour ajuster la limite TPS applicable aux mises à jour des tables secondaires. Ces deux options impliquent un compromis entre la latence de la table principale et celle des tables secondaires :

Option 1 : Augmenter la limite TPS des tables secondaires

Ouvrez un ticket pour relever le plafond TPS maximal autorisé pour les mises à jour des tables secondaires. Cette configuration accélère la synchronisation des tables secondaires, mais l'augmentation du volume d'écritures propagées risque de ralentir les mises à jour de la table principale. Privilégiez cette approche si la latence de la table principale reste acceptable.

Option 2 : Plafonner le débit TPS des tables secondaires

Ouvrez un ticket pour abaisser le plafond TPS maximal des mises à jour des tables secondaires. Cette mesure préserve la réactivité de la table principale au détriment de la vitesse de synchronisation des tables secondaires. Optez pour cette solution lorsque l'actualisation des données de la table principale est critique.