Привет,
Решили тут перевести загрузку данных с 2 раз в день на streaming, для чего существующий код был слегка адаптирован. Если раньше просто детектил дельту, то теперь принимает несколько параметров от внешнего сервиса, включая [ДатаОт, ДатаДо] и стартует процесс. Типа near-real-time.
Провели стресс-тест и выяснилось, что прекрасному SSIS нужно обычно 20 сек на Validation и еще 20 чтоб все загрузить (включая 10-300К транзакций за раз). Ну это ж бред, скажет каждый нормальный человек, тратить 50% processing time на одно и то же N раз в сутки.
Поставил всем DelayValidation в True, выиграл целых 3-5 сек! Не хотелось бы из-за такого безобразия отдавать весь ETL в руки C-шарперов, которые ХД и SQL видели только в кино, но у которых руки чешутся все переделать.
Какие могут быть варианты? Думаю может сделать бесконечный цикл, который бы вызывал другие (под-)пакеты с собственно всей логикой, а параметры для вызова брать из доп. таблицы, отмечая попутно уже обработанные?
Будет ли в таком случае каждый вложенный пакет снова и снова валидироваться перед выполнением? Пока не проверял. Буду благодарен за разумные идеи.
PS: ЕГЭ не сдавал - too old for this shit
Решили тут перевести загрузку данных с 2 раз в день на streaming, для чего существующий код был слегка адаптирован. Если раньше просто детектил дельту, то теперь принимает несколько параметров от внешнего сервиса, включая [ДатаОт, ДатаДо] и стартует процесс. Типа near-real-time.
Провели стресс-тест и выяснилось, что прекрасному SSIS нужно обычно 20 сек на Validation и еще 20 чтоб все загрузить (включая 10-300К транзакций за раз). Ну это ж бред, скажет каждый нормальный человек, тратить 50% processing time на одно и то же N раз в сутки.
Поставил всем DelayValidation в True, выиграл целых 3-5 сек! Не хотелось бы из-за такого безобразия отдавать весь ETL в руки C-шарперов, которые ХД и SQL видели только в кино, но у которых руки чешутся все переделать.
Какие могут быть варианты? Думаю может сделать бесконечный цикл, который бы вызывал другие (под-)пакеты с собственно всей логикой, а параметры для вызова брать из доп. таблицы, отмечая попутно уже обработанные?
Будет ли в таком случае каждый вложенный пакет снова и снова валидироваться перед выполнением? Пока не проверял. Буду благодарен за разумные идеи.
PS: ЕГЭ не сдавал - too old for this shit
