У меня есть таблица клиентов. Эта таблица может быть большой, миллионы строк. Каждый час у меня есть консольное приложение, которое проходит через всех клиентов и обновляет другую таблицу с изменениями клиента, которые произошли за последний час.Обновить таблицу с многопоточным процессом и обновить определенные строки на основе приоритета
Что я хочу сделать, это две вещи: (1) Чтобы консольное приложение (или пакет SSIS) было многопоточным, чтобы у меня было несколько таких запусков, чтобы обновление завершилось быстрее. Он должен быть умным и иметь возможность выбирать клиентов таким образом, чтобы два потока никогда не выполняли код для одного и того же клиента.
(2) Если новый клиент подписывается, ему не нужно ждать час или пока консольное приложение не получит его для получения данных. Должен быть другой процесс/приложение, которое имеет очередь новых клиентов и проводит анализ на этом. Проблема в том, что я хочу, чтобы эта очередь не запускала код для клиента, если почасовой процесс также запускает код в этом процессе.
Из того, что я читал на предыдущих потоках здесь, SSIS - это то, что я хочу использовать. Это верно? Является ли SSIS правильным инструментом?
Я изучал SSIS и не знаю, с чего начать и как сделать многопоточный подход для этого. Я хотел бы иметь некоторые грубые указания, чтобы у меня было лучшее представление о том, с чего начать и что нужно исследовать.
Спасибо!
Пожалуйста, скажите _why_, вы бы не использовали SSIS. В частности, как ваши методы решают его проблемы с производительностью? –
Легко. SSIS является громоздким для такого рода задач, и вам все равно потребуется SQL для безопасного доступа к данным. Так почему бы не сделать это в SQL вместо того, чтобы выгружать другой инструмент? Учитывая, что это INSERT .. SELECT на некоторых эксклюзивных строках, разве это не то, для чего предназначен SQL? Что может сделать SSIS для этого необработанного T-SQL? – gbn