Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page présente les commandes de simultanéité des flux, telles que le nombre maximal de tâches de capture de données de modification (CDC) et de remplissage simultanées. Vous pouvez contrôler les performances du flux en augmentant ou en diminuant les valeurs de ces paramètres.
Présentation des contrôles de simultanéité
En utilisant les commandes de simultanéité, vous pouvez accélérer le remplissage et la CDC, ou équilibrer la charge sur la base de données source. Si vous avez besoin de débits plus élevés et que vous pouvez supporter une charge plus élevée sur la base de données, vous pouvez augmenter la simultanéité des tâches CDC et de remplissage. À l'inverse, si votre base de données est soumise à 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 qu'un flux exécute en parallèle. Pour augmenter le débit de la CDC, augmentez la valeur de ce paramètre et autorisez Datastream à traiter davantage de fichiers journaux de la CDC en même temps.
Voici les principales caractéristiques du 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.
Ce paramètre ne s'applique qu'aux sources Oracle et MySQL.
Le paramètre n'a d'incidence que si le nombre de fichiers journaux de base de données disponibles à lire est supérieur au nombre 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 rotation maximal des journaux. Pour en savoir plus sur ces paramètres, consultez la documentation Oracle et MySQL.
Si vous diminuez le nombre de tâches CDC simultanées, Datastream peut être à la traîne des journaux de la base de données, ce qui peut entraîner une perte de position de journal 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 du 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 concurrence de 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. Pour les grandes tables, ces requêtes renvoient un grand nombre de lignes.
Si vous diminuez la simultanéité de 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 commandes de simultanéité
Vous pouvez modifier les valeurs des paramètres de contrôle de la simultanéité à l'aide de l'API Datastream.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThis page outlines how to manage stream concurrency controls, specifically the maximum number of concurrent Change Data Capture (CDC) and backfill tasks.\u003c/p\u003e\n"],["\u003cp\u003eIncreasing CDC and backfill task concurrency can enhance throughput but may increase load on the source database, while decreasing concurrency can protect the database from overload at the cost of slower performance.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003emaxConcurrentCdcTasks\u003c/code\u003e parameter, applicable to MySQL and Oracle sources only, defaults to 5 and can be adjusted between 1 and 50 to control parallel CDC tasks, with a caution against decreasing it too much as it could cause log position loss.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003emaxConcurrentBackfillTasks\u003c/code\u003e parameter, which also defaults to 15 and ranges from 1 to 50, controls the number of parallel backfill tasks, and while increasing it may significantly impact database performance, decreasing it only extends backfill completion time.\u003c/p\u003e\n"],["\u003cp\u003eConcurrency control parameters can be modified using the Datastream API, as detailed in the documentation for changing the number of concurrent CDC and backfill tasks.\u003c/p\u003e\n"]]],[],null,["# Stream concurrency controls\n\nThis page provides an overview of stream concurrency controls, such as the maximum\nnumber of concurrent change data capture (CDC) tasks and backfill tasks. You can\ncontrol stream performance by increasing or decreasing the values of these parameters.\n\nConcurrency controls overview\n-----------------------------\n\nBy using the concurrency controls, you can either achieve faster backfill and CDC,\nor balance the load on the source database. If you require higher throughputs,\nand can afford a higher load on the database, then you can increase the concurrency\nof CDC and backfill tasks. Conversely, if your database is experiencing a high\nload, and you want to protect it from being overloaded, then you can reduce the\nvalues of these parameters.\n| **Note:** The maximum number of concurrent CDC and backfill tasks parameters are independent of each other. Because of the potential impact that the parameters can have on the source database, we recommend that you modify their values incrementally to see how your system responds.\n\n### Maximum number of CDC tasks\n\n| **Note:** This configuration is only available for MySQL and Oracle sources. CDC in PostgreSQL and SQL Server is single-threaded. For information about how to overcome this limitation for PostgreSQL, see [Diagnose issues](/datastream/docs/diagnose-issues#psql-errors).\n\nThe `maxConcurrentCdcTasks` parameter lets you control the number of CDC\ntasks that a stream runs in parallel. To extend the CDC throughput, increase the\nvalue of this parameter and allow Datastream to process more CDC log files\nat the same time.\n\nThe key characteristics of the parameter include:\n\n- The default value is `5`. You can set this parameter to any value between `1` and `50`, inclusive.\n- The parameter is applicable only to Oracle and MySQL sources.\n- The parameter has impact only if there are more database log files available to read than there are CDC tasks. The log files settings are controlled by the source database configuration parameters: the maximum log file size and the maximum log rotation time interval. For more information about these parameters, refer to Oracle and MySQL documentation.\n- If you decrease the number of concurrent CDC tasks, Datastream might lag behind the database logs, which might eventually lead to log position loss and stream failure.\n\n### Maximum number of backfill tasks\n\nThe `maxConcurrentBackfillTasks` parameter lets you control the number of backfill\ntasks that a stream can run in parallel. You can increase or decrease this value\nto control the backfill throughput.\n\nThe key characteristics of the parameter include:\n\n- The default value is `15`. You can set this parameter to any value between `1` and `50`, inclusive.\n- There is a high risk associated with increasing the backfill concurrency, because backfill tasks have significant impact on the database performance. Each backfill task runs an unfiltered `SELECT` query on a table, and for large tables, such queries return a large number of rows.\n- If you decrease the backfill concurrency, it has no negative impact on the source database except for the backfill taking a longer time to complete.\n\nChange the values of concurrency controls\n-----------------------------------------\n\nYou can change the values of concurrency control parameters using the\nDatastream API.\n\n- To learn how to increase or decrease the number of concurrent CDC tasks, see [Change the number of maximum concurrent CDC tasks](/datastream/docs/manage-streams#change_the_number_of_maximum_concurrent_cdc_tasks).\n- To learn how to increase or decrease the number of concurrent backfill tasks, see [Change the number of maximum concurrent backfill tasks](/datastream/docs/manage-streams#change_the_number_of_maximum_concurrent_backfill_tasks)\n\nWhat's next\n-----------\n\n- See [managing streams](/datastream/docs/manage-streams) to learn more about how to use the Datastream API.\n- See the [Datastream API reference documentation](/datastream/docs/reference/rest/v1/projects.locations.streams) to learn more about the `Stream` resource."]]