В настоящее время у нас есть поставщик, у которого есть специально созданный пакет ETL (это часть более крупной программы), выполнение которого, похоже, занимает очень много времени.
Наша текущая установка работает под управлением SQL Server 2008 R2 Standard Edition. Здесь задействованы два сервера: SQL Server и другой сервер, известный как пакетный сервер. По сути, происходит то, что Batch-сервер запрашивает у SQL Server набор строк из таблицы, он сохраняет эти строки в памяти на Batch-сервере и проходит здесь несколько преобразований. После преобразования / очистки данных их необходимо загрузить обратно в несколько разных таблиц на сервере базы данных. В настоящее время это делается с помощью ряда операторов вставки, помещенных в SP_PREPARE. Затем он продолжает выполнение оператора sp_execute один раз для каждой строки, которую нужно вставить (десятки миллионов раз).
Прошло много времени с тех пор, как я использовал IBM Datastage, но, похоже, я помню, что он пытался делать эти вставки по умолчанию аналогично и в результате был ужасно медленным.
Я упомянул, что они экспортируют файл данных с измененными данными и позволяют нам массово импортировать этот файл, но экспорт данных в файл, предположительно, потребует значительных изменений в их коде и, вероятно, не подходит.
Любые предложения или идеи будут с благодарностью!
Andrew