Multiple data synchronization tasks (synchronizing data from ClickHouse to DolphinDB) were submitted via submitJob. Each task function independently creates an ODBC connection. Observations show:
Does this imply that: Despite concurrent submission of multiple tasks, the ODBC connections are actually shared? This causes the tasks to fail to execute truly concurrently and instead process serially?
How to verify the concurrency of ODBC connections? If serialization is indeed an issue, how can it be optimized to achieve true concurrent synchronization?
Here is my environment information:
- DolphinDB Server Version: 2.00.11 (2024.01.02) Linux 64-bit
- License: 16 cores
- Operating System: CentOS Linux release 7.9.2009 (Core)
The official ClickHouse ODBC driver only supports single-threaded execution. You may consider using DataX instead. Here's how to use DataX to import data into DolphinDB:
Use the clickhousereader
plugin to extract data from ClickHouse.
Use the official DolphinDB Writer plugin for DataX (dolphindbwriter
) to write data into DolphinDB.
Configure your DataX job JSON file accordingly, specifying source and target details.
Run the job using the DataX command-line tool:
python datax.py your_job_config.json
Ensure the target table in DolphinDB exists and is properly structured to receive the data.