Contrôles de simultanéité des flux

Cette page présente les contrôles de simultanéité de flux, tels que le nombre maximal de tâches simultanées de capture de données modifiées (CDC, Change Data Capture) et de tâches de remplissage. Vous pouvez contrôler les performances du flux en augmentant ou en diminuant les valeurs de ces paramètres.

Présentation des commandes de simultanéité

En utilisant les contrôles de simultanéité, vous pouvez soit accélérer le remplissage et la CDC, soit équilibrer la charge sur la base de données source. Si vous avez besoin de débits plus élevés et que vous pouvez vous permettre d'augmenter la charge de la base de données, vous pouvez augmenter la simultanéité des tâches de CDC et de remplissage. À l'inverse, si votre base de données subit une charge élevée et que vous souhaitez la protéger contre la surcharge, vous pouvez réduire les valeurs de ces paramètres.

Nombre maximal de tâches CDC

Le paramètre maxConcurrentCdcTasks vous permet de contrôler le nombre de tâches CDC exécutées par un flux en parallèle. Pour étendre le débit de la CDC, augmentez la valeur de ce paramètre et autorisez Datastream à traiter davantage de fichiers journaux CDC en même temps.

Voici les principales caractéristiques de ce paramètre:

  • La valeur par défaut est 5. Vous pouvez définir ce paramètre sur n'importe quelle valeur comprise entre 1 et 50 inclus.
  • Le paramètre ne s'applique qu'aux sources Oracle et MySQL.
  • Ce paramètre n'a d'impact que s'il existe plus de fichiers journaux de base de données à lire que de tâches CDC. Les paramètres des fichiers journaux sont contrôlés par les paramètres de configuration de la base de données source: la taille maximale du fichier journal et l'intervalle de temps maximal de rotation des journaux. Pour en savoir plus sur ces paramètres, consultez la documentation Oracle et MySQL.
  • Si vous réduisez le nombre de tâches CDC simultanées, Datastream peut prendre du retard par rapport aux journaux de la base de données, ce qui peut entraîner une perte de position dans les journaux et un échec du flux.

Nombre maximal de tâches de remplissage

Le paramètre maxConcurrentBackfillTasks vous permet de contrôler le nombre de tâches de remplissage qu'un flux peut exécuter en parallèle. Vous pouvez augmenter ou diminuer cette valeur pour contrôler le débit de remplissage.

Voici les principales caractéristiques de ce paramètre:

  • La valeur par défaut est 15. Vous pouvez définir ce paramètre sur n'importe quelle valeur comprise entre 1 et 50 inclus.
  • L'augmentation de la simultanéité du remplissage présente un risque élevé, car les tâches de remplissage ont un impact significatif sur les performances de la base de données. Chaque tâche de remplissage exécute une requête SELECT non filtrée sur une table et, pour les tables volumineuses, renvoie un grand nombre de lignes.
  • Si vous réduisez la simultanéité du remplissage, cela n'a aucun impact négatif sur la base de données source, sauf que le remplissage prend plus de temps.

Modifier les valeurs des contrôles de simultanéité

Vous pouvez modifier les valeurs des paramètres de contrôle de simultanéité à l'aide de l'API Datastream.

Étapes suivantes