powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос процесса.
47 сообщений из 47, показаны все 2 страниц
Перенос процесса.
    #39823113
dermama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, добрый вечер.

Есть идея перенести все банковские процессы и реализовать их ПОЛНОСТЬЮ посредством dtsx пакетов с отказом от процедур. В данный момент базу обслуживают процедуры, немного dtsx пакетов, однако в VS пакет представляет собой этапы с однойменными процедурами, ссылающиеся на последние.
Вопрос: 1) возможно ли перенести обслуживание всех процессов посредством SSIS пакетов?
2) возможно ли почти полностью отказаться от процедурной части, которая в данный момент эксплуатируется?
3) какие положительные моменты появятся в случае успешной реорганизации?
4) какие отрицательные моменты появятся в случае реализации?

С уажением
ваш коллега.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823125
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем? Заняться нечем особо?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823129
dermama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей АлексеевичЗачем? Заняться нечем особо?

SSIS пакеты работают быстрее. Хочу ускорить процессы.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823136
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dermama,

1) возможно, SSIS всё-таки workflow среда со скриптовыми блоками, так что реализация практически любой программной логики вполне возможна
2) конечно, например элементарно посылая текст процедуры на исполнение в виде SQL скрипта вместо того чтобы её вызывать на сервере готовую
3) и 4) - зависит от специфики текущего процесса и как это реализовать на SSIS, универсального ответа нет, у SSIS есть свои преимущества у SQL/DB свои, можно просто разбить процесс используя лучшее из каждого решения для компенсации недостатков/слабостей другого.

если есть необходимость и такая задача с реальной пользой от результата - то вперёд, иначе: работает - не трожь
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823138
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dermamaSSIS пакеты работают быстрее. Хочу ускорить процессы.Не может условный join работать вне сервера быстрее, чем внутри. Но если у вас альтернативно одаренный код внутри TSQL-процедур, то это не повод переносить все наружу -- надо просто это разгрести, что у вас там понаписано.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823140
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

теоретически конечно, только он ещё не говорит пока о движении данных между системами
там тогда ещё отказоустойчивость (вероятность сбоя уже в двух системах а не одной) ,
дополнительные ресурсы/лицензии, откат при сбое (и/или перезапуск с шага..),
логирование.. и куча других невероятных граблей..

о преимуществах - SSIS в некоторых сценариях легче отслеживать прогресс
(хотя и в процедурах можно результаты пошагово в служебные таблицы писать)
как недостаток - вроде ведь SSIS умирает давно .. вся нормальная автоматизация глубоко в скрипты уходит
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823202
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перенести логику из хранимых процедур в сервер приложений - ещё понятная идея. Хотя ИМХО плохая.

Но идея использовать SSIS как сервер приложений - это совсем никуда не годиться.
Вы не сможете это нормально разрабатывать и поддерживать.
Да и работать будет очень медленно.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823267
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичНе может условный join работать вне сервера быстрее, чем внутри.
Может и легко. У SSIS намного меньшие издержки, ему не нужно поддерживать транзакционность, лог, статистику выполнения и т.п.

Разрабатываю всю загрузку ХД посредством SSIS, начиная от получения данных из шины (напрямую), файлов, таблиц БД. Пакеты крутятся на выделенном сервере ETL и минимально нагружают основной сервер ХД. Работает быстро, потребляет мало.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823276
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийУ SSIS намного меньшие издержки, ему не нужно поддерживать транзакционность, лог, статистику выполнения и т.п.SSIS умеет забирать данные из MSSQL мимо транзакционности и статистики выполнения?
Чем нагружается лог при чтении?
Как выполнить соединение на клиенте не выкачав все данные в нем участвующие?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823286
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmSSIS умеет забирать данные из MSSQL мимо транзакционности и статистики выполнения?Чем нагружается лог при чтении?
Я отвечал на вопрос о join-е. Давайте не будем произвольно расширять вопрос и притворяться глупее, чем мы есть.
invmКак выполнить соединение на клиенте не выкачав все данные в нем участвующие?
ETL-средство не может оптимизировать непосредственно выкачку данных из таблиц и очень ограниченно - вставку, за счет разбиения на порции. Основная выгода получается за счет операций над выкачанными наборами данных (начиная с декомпозиции запросов к источникам).
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823291
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
радует, мышкопрограммисты атакают

автор. Основная выгода получается за счет операций над выкачанными наборами данных (начиная с декомпозиции запросов к источникам).
мы поставили второй сервер что бы сказать что теберь всё быстрее на первом
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823302
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийЯ отвечал на вопрос о join-е. Давайте не будем произвольно расширять вопрос и притворяться глупее, чем мы есть.А мои вопросы к чему относятся?
Или join в SSIS - это некая магия?

Есть тут на форуме один персонаж, который некоторое время назад утверждал, что "мержить" данные из БД в SSIS гораздо выгоднее, чем на сервере. Доказать не смог.
У вас пока что тоже с доказательствами беда...
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823319
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKрадует, мышкопрограммисты атакают
Вы напомнили мне одного моего дальнего родственника, программиста на плюсах. Как-то раз он мимоходом сказал, что SQL - это не программирование, а так. Я в ответ хмыкнул, пожал плечами и подумал: молодой еще, авось потом поймет.
Лично я комбинирую внутри SSIS квадратики, SQL и C#, выбирая то, что проще и эффективнее решит конкретную потребность. У меня три инструмента, у других один.
TaPaKмы поставили второй сервер что бы сказать что теберь всё быстрее на первом
Именно так. И это очень хорошая практика, когда нагрузку можно разнести по разным машинам в зависимости от ее типа, изолировать постоянно работающий ETL от аналитических запросов.
invmА мои вопросы к чему относятся?
Или join в SSIS - это некая магия?
Не магия, по сути это обычный merge join.
Как только вы захотите изменить данные посредством join внутри СУБД, вы сталкиваетесь с теми самыми издержками, о которых я говорил выше. Без изменения данных это не ETL и потому оффтопик.
invmЕсть тут на форуме один персонаж, который некоторое время назад утверждал, что "мержить" данные из БД в SSIS гораздо выгоднее, чем на сервере. Доказать не смог.
У вас пока что тоже с доказательствами беда...
Если рассматривать понятие "мержить" максимально широко, то я соглашусь с тезисом этого персонажа. Доказываю это своим работающим решением моему руководству и работодателю. Доказывать лично вам... ну, если вежливо попросите.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823323
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак только вы захотите изменить данные посредством join внутри СУБД
дивный новый мир
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823352
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийНе магия, по сути это обычный merge join.А входные данные для merge кто будет сортировать?
.ЕвгенийКак только вы захотите изменить данные посредством join внутри СУБД, вы сталкиваетесь с теми самыми издержками, о которых я говорил выше.Как интересно.
Оказывается SSIS еще и писать умеет в БД минуя транзакционность и статистику выполнения. Не говоря уже о том, что посредством join данные в БД изменить нельзя.
.ЕвгенийДоказываю это своим работающим решением моему руководству и работодателю.Работоспособность решения не есть доказательство его превосходства над другими работоспособными решениями.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823369
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmА входные данные для merge кто будет сортировать?
Либо сервер БД, либо SSIS.
invmКак интересно.
Оказывается SSIS еще и писать умеет в БД минуя транзакционность и статистику выполнения. Не говоря уже о том, что посредством join данные в БД изменить нельзя.
Вы цепляетесь к словами, что, на мой взгляд, не имеет разумной цели. Если вам так не нравится слово "посредством", я напишу "с применением join". Вопрос исчерпан?

В одном случае транзакция блокирует таблицы-источники, а также ресурсы для преобразований данных.
В другом - отдельные и независимые (опционально) транзакции на чтение и изменение (обычно bulk insert).
invmРаботоспособность решения не есть доказательство его превосходства над другими работоспособными решениями.
Согласен с вами. Более того, я считаю это очевидным не только для нас, но и для моего руководства.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823378
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как только люди не извращаются!


А каков размер базы в общем и размер средней таблицы, каков поток чтений и записей?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823397
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кесарь,

до 500 xml сообщений (по 1-100 кб) в секунду, таблицы до нескольких сотен млн записей, задержка обновления данных до пары минут (от появления сообщения в шине), минимальное влияние на сервер ХД (короткие insert и update). Посредственное виртуальное железо. Реализованы разрешение идентификаторов без ограниченного окна загрузки; СККД и автоматическая загрузка после исправления ошибки (например, элемент справочника пришел позже ссылающегося на него факта).
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823409
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так у вас затык получается в моменте вставки данных из внешних систем, я правильно понял?

Не знаю как вы собрались работать на SSIS-е, ИМХО он слабо предрасположен для этого. Вещь очень плохо поддерживаемая. Лучше туда никакую логику не засовывать, умучаетесь потом. Прочем дело ваше.

Как мне видится расшивка этого узкого места:

вся входящая инфа валится на «сервер» (это может быть вовсе не один сервер, впрочем в этих технологиях я не очень), на котором работают микросервисы (что позволяет широкое масштабирование в зависимости от нагрузки), которые парсят XML-сообщения и складывают в некую достаточно лёгкую базу. Задачей базы является присвоение сквозного ID каждой сущности и отправка её в обмен. Из обмена она уже забирается основной базой, в которой лежит вся инфа и реализована бизнес-логика на процедурах. Лёгкая база регулярно чистится, ессно.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823412
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийКесарь,

до 500 xml сообщений (по 1-100 кб) в секунду, таблицы до нескольких сотен млн записей, задержка обновления данных до пары минут (от появления сообщения в шине), минимальное влияние на сервер ХД (короткие insert и update). Посредственное виртуальное железо. Реализованы разрешение идентификаторов без ограниченного окна загрузки; СККД и автоматическая загрузка после исправления ошибки (например, элемент справочника пришел позже ссылающегося на него факта).
server broker курильщика
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823429
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dermama,

SSIS работаю эффективно при обработке и загрузке данных из внешних источников. Для внутрисерверных запросов оптимальны типовые SQL запросы. Основное преимущество SSIS в том, что с их помощью можно достаточно быстро обрабатывать потоки внешних данных без создания локальных "перевалочных" буферов.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823432
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кесарь,

в общем-то у меня нет затыка. На вход загрузки подается в разы меньше данных, чем она способна обработать (средняя нагрузка около 100 сообщений/сек).

Аналог микросервисов реализован пакетами SSIS. Одна посредственная виртуалка, без контейнеров, кластеров и прочей атрибутики для лентяев.

Бизнес-логику, удовлетворяющую заданным требованиям, посредством одного SQL реализовать невозможно (мое личное мнение). Если не углубляться, то не получится совместить минимальные задержку и влияние.
TaPaKserver broker курильщика
Уже был RabbitMQ.
Кроме того, я не видел решение, позволяющее парсить такой поток сообщений на таком железе. Поэтому сделал так, как сделал.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823433
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийЛибо сервер БД, либо SSIS.Т.е. об этих дополнительных накладных расходах вы решили скромно умолчать?
.ЕвгенийВы цепляетесь к словами, что, на мой взгляд, не имеет разумной цели.Да неужели? Вы просто не в состоянии внятно объяснить свои пассажи и путаетесь в показаниях.
.ЕвгенийВ одном случае транзакция блокирует таблицы-источники, а также ресурсы для преобразований данных.Да? И как же она их блокирует так, что они остаются монопольно заблокированными на время транзакции? И, главное, зачем?
И что такое ресурсы для преобразования данных? И чтоб эти ресурсы не блокировались нужно добавить отдельный сервер для ETL со своими ресурсами? А лучше несколько, так сказать для надежности?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823439
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выделение машины под ETL требуется в случае обработки несортированных данных значительного объема. То есть при объемах, начиная с нескольких десятков гигабайт и загруженностью 24/7. В других случаях выглядит избыточным...
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823442
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийКесарь,

в общем-то у меня нет затыка. На вход загрузки подается в разы меньше данных, чем она способна обработать (средняя нагрузка около 100 сообщений/сек).

Тогда я не понял, в чём проблема.


.ЕвгенийБизнес-логику, удовлетворяющую заданным требованиям, посредством одного SQL реализовать невозможно (мое личное мнение). Если не углубляться, то не получится совместить минимальные задержку и влияние.

И ещё раз не понял.

Бизнес-логика легко реализуется на sql любая, которая может быть представлена в виде транзакций (у вас ведь не управление атомной станцией?). Банковские операции заведомо реализуемы в sql. По определению.

Задержки относятся не к бизнес-логике, а к архитектуре, качеству кода, качеству работы команды админов и наконец просто напросто к мощности железа.

Что есть "влияние" я тоже не понял.


В общем то ли вы не можете сформулировать ясными словами ваши проблемы, то ли их вовсе нет, то ли вы их сами не до конца понимаете.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823451
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmТ.е. об этих дополнительных накладных расходах вы решили скромно умолчать?
Что значит - дополнительных? Join СУБД никаких расходов не несет (не сортирует для merge, не создает хеш для hash)?
invmДа? И как же она их блокирует так, что они остаются монопольно заблокированными на время транзакции? И, главное, зачем?
Вы очевидно приписали мне слово "монопольно". Вам так важен данный спор?

Успокойтесь и представьте себе две ситуации. В первом случае соединяется десяток таблиц, чтобы вставить результат в одиннадцатую. Во втором случае - все операции чтения и записи независимы. Для простоты все чтения в обоих ситуациях фуллскан. Вопрос: есть ли разница в потреблении ресурсов СУБД?
invmИ что такое ресурсы для преобразования данных?
Это выделение памяти, ядер, запись в лог, обновление статистики выполнения. Я говорю об этом максимально обще, как о том, что не расходуется SSISом или расходуется, но принципиально иначе - за счет чего можно выиграть.
invmИ чтоб эти ресурсы не блокировались нужно добавить отдельный сервер для ETL со своими ресурсами?
Вы совершенно правы.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823499
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийЧто значит - дополнительных? Join СУБД никаких расходов не несет (не сортирует для merge, не создает хеш для hash)?То и значит. У сервера три стратегии соединения, у SSIS - одна, которая по-любому требует упорядоченных наборов на входе. И, к сведению, хеш эффективнее мержа на больших объемах с необходимостью сортировки.
Я уже промолчу про параллелизм при выполнении запросов...
.ЕвгенийВы очевидно приписали мне слово "монопольно"Конечно приписал. Ибо без "монопольно" ваше объяснение про заблокированные "таблицы-источники" не имеет смысла.
И, кстати, вы так не объяснили - зачем же их так жестко блокировать?
.ЕвгенийВ первом случае соединяется десяток таблиц, чтобы вставить результат в одиннадцатую. Во втором случае - все операции чтения и записи независимы. Для простоты все чтения в обоих ситуациях фуллскан. Вопрос: есть ли разница в потреблении ресурсов СУБД?Ну так объясните нам, неразумным:
- что такое зависимость операций записи от операций чтения?
- чем N фуллсканов в одном запросе хуже тех же N фуллсканов, но с передачей всего насканированного клиенту?

.ЕвгенийВы совершенно правы.Вы, видимо, работаете у какого-то вендора ПО.
Ибо только там считают, что клиенту дешевле купить пару-тройку новых серверов со всеми необходимыми лицензиями на софт, чем нарастить ресурсы на одном сервере.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823509
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойму о чем спор, слияние, которое выполняет SSIS заведомо менее эффективно при работе с данными одного сервера, так так требует обязательную сортировку и не может быть выполнено параллельно.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823513
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, для корректной работы слиянию требуется дополнительная задача преобразование символьных данных в юникод.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823575
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КесарьТогда я не понял, в чём проблема.
Я не dermama, у меня нет проблемы с решением. У меня есть непонимание с человеком, притворяющимся неразумным. Но даже это не является проблемой.
КесарьБизнес-логика легко реализуется на sql любая, которая может быть представлена в виде транзакций (у вас ведь не управление атомной станцией?). Банковские операции заведомо реализуемы в sql. По определению.

Задержки относятся не к бизнес-логике, а к архитектуре, качеству кода, качеству работы команды админов и наконец просто напросто к мощности железа.
Ну хорошо, приведу конкретный пример. В таблице области Stage лежит, скажем, десять тысяч записей. Нужно "смержить" ее с соответствующей таблицей в детальной области, содержащей полмиллиарда записей, в течение 1 минуты. Спустя еще одну минуту - повторить. При этом минимально влияя (конкурируя за ресурсы) с аналитическими запросами к детальным данным. Жду предложений, как это сделать на SQL, причем на скромном виртуальном сервере.
invmТо и значит. У сервера три стратегии соединения, у SSIS - одна
И это значит, что у вас три инструмента, у меня - четыре. Понимаете разницу? Или снова прикинетесь?
Также в SSIS есть кешируемый лукап - это пятый инструмент, когда не ожидается размножение строк.
Наконец, в SSIS есть Script Task с возможностями C# - это шестой инструмент.
Конечно, в MS SQL есть CLR - но кому придет в голову использовать его для соединений?
invmКонечно приписал. Ибо без "монопольно" ваше объяснение про заблокированные "таблицы-источники" не имеет смысла.
Конечно, приписывать собеседнику свои слова в цивилизованном разговоре не стоит. Вместо этого лучше использовать вопрос: "Правильно ли я понял, что...?" и объяснить свои сомнения. Например, правильно ли я понял, что блокировки S вы блокировками не считаете?

Когда вы просто читаете таблицу-источник, то блокируете S текущую читаемую страницу, освобождая сразу по окончании чтения.
Когда вы используете таблицу-источник внутри оператора модификации данных, то блокируете с учетом эскалации S всю таблицу (прочитанные данные) и освобождаете по окончании транзакции.
С этим вы согласны или нет?
invmНу так объясните нам, неразумным
Извините, но я специально просил вас "не притворяться глупее, чем мы есть". Почему вы считаете нормальным игнорировать мою просьбу и одновременно ожидать ответа на свою? Если вы неразумный, то какой смысл тратить на вас время?
invmВы, видимо, работаете у какого-то вендора ПО.
Ибо только там считают, что клиенту дешевле купить пару-тройку новых серверов со всеми необходимыми лицензиями на софт, чем нарастить ресурсы на одном сервере.
А вам сама архитектура с выделенным сервером не кажется избыточной в сравнении с файл-серверной? Access намного дешевле MS SQL, а SQLite и вовсе бесплатен.
В моем случае две скромных виртуалки, специализированные по нагрузке, обходятся дешевле и работают эффективнее, чем один универсальный сервер. Да и надежнее.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823586
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Евгений,

эскалация это конечно страшнющая вещь..
А вот если просто читать в никуда, то это быстро и увлекателно и ничего не блокирует
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823628
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийНу хорошо, приведу конкретный пример. В таблице области Stage лежит, скажем, десять тысяч записей. Нужно "смержить" ее с соответствующей таблицей в детальной области, содержащей полмиллиарда записей, в течение 1 минуты. Спустя еще одну минуту - повторить. При этом минимально влияя (конкурируя за ресурсы) с аналитическими запросами к детальным данным. Жду предложений, как это сделать на SQL, причем на скромном виртуальном сервере.

Мёрж 10 тысяч записей делается легко и существенно менее минуты. Ну при наличии конечно нормальных идентификаторов и индексов.

Как сделать, чтобы не конкурировать с чтением? Читаемая реплика базы на отдельном сервере.



P.S. Если вы хотите, чтобы вас тут похвалили и оценили, то вы - безусловно молодец.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823631
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийИ это значит, что у вас три инструмента, у меня - четыре. Понимаете разницу? Или снова прикинетесь?
Также в SSIS есть кешируемый лукап - это пятый инструмент, когда не ожидается размножение строк.
Наконец, в SSIS есть Script Task с возможностями C# - это шестой инструмент.
Конечно, в MS SQL есть CLR - но кому придет в голову использовать его для соединений?Не надо уводить дискуссию в сторону. Речь идет о ваших утверждениях о преимуществе join на стороне SSIS. Итого 1.5 стратегии соединения на сторогне SSIS и 3 на стороне сервера.
Или вы опять все рассматриваете в "широком смысле"? Действительно, это очень удобный способ уходить от ответов не неудобные вопросы...
.ЕвгенийКонечно, приписывать собеседнику свои слова в цивилизованном разговоре не стоит.Не учите меня жить - это не в вашей компетенции.
.ЕвгенийНапример, правильно ли я понял, что блокировки S вы блокировками не считаете?Неправильно..ЕвгенийКогда вы просто читаете таблицу-источник, то блокируете S текущую читаемую страницу, освобождая сразу по окончании чтения.
Когда вы используете таблицу-источник внутри оператора модификации данных, то блокируете с учетом эскалации S всю таблицу (прочитанные данные) и освобождаете по окончании транзакции.
С этим вы согласны или нет?1. Блокировки бывают не только страничные. Есть еще три гранулярности.
2. На TIL RC S снимается как только данные прочитаны, вне зависимости от нахождения или нет таблицы-источника в инструкции модификации данных.
3. На TIL RC S вообще может не накладываться, если страница не "грязная".
4. Эскалация наступает при соблюдении целого ряда условий, в том числе при отсутствии несовместимых блокировок, а не по вашему хотению.
5. Если требуется TIL старше RC (кроме снепшотных), то вам в SSIS придется работать в транзакции. И, т.к. отсутствует predicate pushdown, - можете легко получить количество S-блокировок значительно больше, чем выполняя запрос на сервере.
.ЕвгенийЕсли вы неразумный, то какой смысл тратить на вас время?Вас никто не заставляет тратить ваше драгоценное время. Еще раз - не учите меня жить.
.ЕвгенийА вам сама архитектура с выделенным сервером не кажется избыточной в сравнении с файл-серверной?Не сравнивайте теплое с мягким. Впаривание дополнительных серверов клиенту для решения задач, которые спокойно можно решать без оных - просто развод клиента на деньги. И не надо подводить под такое впаривание "научное обоснование".
.ЕвгенийВ моем случае две скромных виртуалки, специализированные по нагрузке, обходятся дешевле и работают эффективнее, чем один универсальный сервер. Да и надежнее.Я рад за вас.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823697
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmНе надо уводить дискуссию в сторону. Речь идет о ваших утверждениях о преимуществе join на стороне SSIS. Итого 1.5 стратегии соединения на сторогне SSIS и 3 на стороне сервера.
Второй раз. Я сказал, что join снаружи может быть быстрее, чем join внутри. Не обязан быть быстрее всегда, а может . Используя ETL, я могу осознанно передавать ему эти случаи.
invmНе учите меня жить - это не в вашей компетенции.
Приятно повеяло годами моей молодости, а именно лозунгом "Не учите меня жить, лучше помогите материально".
Вот мне не зазорно учиться даже у неразумных людей: я приму ваши слова о блокировках к сведению и разберусь, почему у меня сложилось мнение, о котором я написал выше. Не прямо сейчас, но позже.
Если же вам кажется, будто я пытаюсь вас чему-то учить, то вы ошибаетесь. Я просто поступаю в своем стиле и объясняю, почему. Заставлять вас следовать моему примеру не стану, ибо по большому счету пофиг. Да и, как говорится, можно подвести лошадь к воде, но нельзя заставить ее пить.

Впрочем, не беря в расчет конкретно блокировки и возвращаясь к преимуществам ETL, любой запрос с модификацией все равно пишет в лог, выделяет память и потоки под обработку данных - то, что SSIS не делает или делает, но совсем иначе.
invmНе сравнивайте теплое с мягким. Впаривание дополнительных серверов клиенту для решения задач, которые спокойно можно решать без оных - просто развод клиента на деньги.
Ваше убеждение в том, что выделенные серверы (только ETL? какие-то еще?) не нужны, вы никак не обосновываете. Я привел пример задачи, которая, по словам другого участника темы, требует дополнительного сервера. Только одной задачи среди многих выполняемых. Видимо, вы этого замечать не желаете.

invm не нравится сервер ETL, alexeyvg не нравится шина... Надеюсь, я не столь агрессивен и категоричен в отношении хадупа.
КесарьЕсли вы хотите, чтобы вас тут похвалили и оценили, то вы - безусловно молодец.
Когда я действительно захочу, чтобы меня оценили именно на форуме, я напишу доклад или презентацию. Пока мне достаточно оценки со стороны руководства. Хотя можно обкатать тезисы, типа "ETL имеет право на жизнь"...
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823720
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийВторой раз. Я сказал, что join снаружи может быть быстрее, чем join внутри. Не обязан быть быстрее всегда, а может .Ну вот и продемонстрируйте каким образом и засчет чего это "может" происходит. Пока что от вас только бла-бла-бла.
.ЕвгенийВпрочем, не беря в расчет конкретно блокировки и возвращаясь к преимуществам ETL, любой запрос с модификацией все равно пишет в лог, выделяет память и потоки под обработку данных - то, что SSIS не делает или делает, но совсем иначе.Еще раз - не уходите в сторону. Обсуждается join на стороне SSIS, а не преимущества ETL.
.ЕвгенийВаше убеждение в том, что выделенные серверы (только ETL? какие-то еще?) не нужны, вы никак не обосновываете.Выделение под какую-то задачу отдельного сервера требует обоснования. Утверждение типа "я знаю как это сделать на SSIS на выделенном сервере, но не знаю как тоже самое равноэффективно реализовать на сервере БД" таковым не является.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823733
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторна стороне SSIS, а не преимущества ETL.

хотелось бы понять почему ETL это монополия SSIS, а не просто модель доствки данных
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823783
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK...хотелось бы понять почему ETL это монополия SSIS , а не просто модель доствки данных...у Gartner ETL (Data Integration) для MS выделено весьма серединное место, и даже внутри MS не является монопольным (не говоря уже о SP_.. , Agent, PS и т.д.)
...
Рейтинг: 0 / 0
Перенос процесса.
    #39823796
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkivTaPaK...хотелось бы понять почему ETL это монополия SSIS , а не просто модель доствки данных...у Gartner ETL (Data Integration) для MS выделено весьма серединное место, и даже внутри MS не является монопольным (не говоря уже о SP_.. , Agent, PS и т.д.)
Ssis успел отделиться от ms? Или о чем посыл, тем более если брать этот маркетинговый квадрат, то ms нагенерил и наступал все чтобы в одной точке выглядеть прилично :)
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824015
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmНу вот и продемонстрируйте каким образом и засчет чего это "может" происходит. Пока что от вас только бла-бла-бла.
Т.е. вы требуете демо-пример, и ради вашего убеждения я должен развернуть тестовую среду, подготовить опытные примеры и собрать по ним статистику выполнения.
Ок, могу. Но не бесплатно. Вы готовы оплатить мой труд?
invm.ЕвгенийВпрочем, не беря в расчет конкретно блокировки и возвращаясь к преимуществам ETL, любой запрос с модификацией все равно пишет в лог, выделяет память и потоки под обработку данных - то, что SSIS не делает или делает, но совсем иначе.Еще раз - не уходите в сторону. Обсуждается join на стороне SSIS, а не преимущества ETL.
Вы не понимаете, что именно об этом я и говорил - о том, что SSIS при выполнении join не делает или делает, но совсем иначе, в сравнении с MS SQL.
invmВыделение под какую-то задачу отдельного сервера требует обоснования. Утверждение типа "я знаю как это сделать на SSIS на выделенном сервере, но не знаю как тоже самое равноэффективно реализовать на сервере БД" таковым не является.
Во-первых, реализовывать задачи на сервере БД не является самоцелью. Невыделение отдельных серверов - тоже не самоцель.
Во-вторых, отсутствие способа это частный случай незнания способа. Когда выбирается способ решения более-менее сложной задачи, то человек с опытом и без избытка тщеславия не заявит безусловную невозможность решения задачи некими средствами (в данном случае сервером БД). Он скажет: "Если такой способ и существует, то я его не знаю". И предложит свой вариант решения.
В-третьих, а знаком ли вам вкус устриц, чтобы обсуждать его в столь самоуверенной форме с теми, кто их уже ел? Приходилось ли вам работать со средствами ETL в целом и SSIS в частности и насколько глубоко?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824028
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийТ.е. вы требуете демо-пример, и ради вашего убеждения я должен развернуть тестовую среду, подготовить опытные примеры и собрать по ним статистику выполнения.
Ок, могу. Но не бесплатно. Вы готовы оплатить мой труд?Ну не я же утверждал, что join на стороне SSIS может выполняться быстрее. Предлагаете поверить вам на слово? Не заслужили пока...
А для хоть каких-то доказательств достаточно хотя бы в псевдокоде написать то, что будет происходить при выполнении join в SSIS. С указаниями где выигрышь и почему.

Но вы даже этого сделать не в состоянии.

ЗЫ: Остальное словоблудие и попытку помериться письками игнорирую как оффтоп.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824029
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийSSIS при выполнении join не делает или делает, но совсем иначе, в сравнении с MS SQL.Если нужно получить связанные с другим множеством данные, то первый вариант исключаем - join сделать надо.

По пункту "иначе", хотелось бы подробностей - какие секретные технологии скоростного join-а используются в SSIS, и почему разработчики не поделились ими с разработчиками Database Engine?
.Евгенийзнаком ли вам вкус устриц, чтобы обсуждать его в столь самоуверенной форме с теми, кто их уже ел?А вы уверены, что знакомы, поэтому считаете правильным использовать в беседе настолько самоуверенные формы?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824047
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgЕсли нужно получить связанные с другим множеством данные, то первый вариант исключаем - join сделать надо.

По пункту "иначе", хотелось бы подробностей - какие секретные технологии скоростного join-а используются в SSIS, и почему разработчики не поделились ими с разработчиками Database Engine?
Прошу вас, читайте мои предыдущие сообщения. Повторяю свою фразу:
"У SSIS намного меньшие издержки, ему не нужно поддерживать транзакционность, лог, статистику выполнения и т.п."
alexeyvgА вы уверены, что знакомы, поэтому считаете правильным использовать в беседе настолько самоуверенные формы?
Я стараюсь избегать самоуверенности, если у меня не получилось - укажите, где это произошло.
Я не требую делать те или иные задачи на SSIS или строго доказать мне нежелательность его применения.
Но когда заявляют некую невозможность, а у меня есть противоположный опыт, то я могу им поделиться.
Если кого-то мой опыт возмущает - это его проблемы.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824063
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийПрошу вас, читайте мои предыдущие сообщения. Повторяю свою фразу:
"У SSIS намного меньшие издержки, ему не нужно поддерживать транзакционность, лог, статистику выполнения и т.п."Не надо юлить и пытаться считать оппонента идиотом со склерозом.

Лучше на конкретном примере покажите какие издержки транзакционности, лога и статистики выполнения у join на стороне сервера.
И почему данные издержки будут отсутствовать, когда вы будете забирать данные с сервера для выполнения join в SSIS.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824310
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийalexeyvgЕсли нужно получить связанные с другим множеством данные, то первый вариант исключаем - join сделать надо.

По пункту "иначе", хотелось бы подробностей - какие секретные технологии скоростного join-а используются в SSIS, и почему разработчики не поделились ими с разработчиками Database Engine?
Прошу вас, читайте мои предыдущие сообщения. Повторяю свою фразу:
"У SSIS намного меньшие издержки, ему не нужно поддерживать транзакционность, лог, статистику выполнения и т.п."SSMS должен получить с сервера данные, от этого никуда не деться, и от издержек транзакционности не уйти.
Может, вы имеете в виду дополнительное время блокировки, которая в случае MSSQL будет держаться до конца джойна?
Да, такое есть, но это увеличение - мизер, сами то издержки никуда не делись (то есть сама установка и снятие блокировки).

А вот основное, то есть примитивный механизм JOIN-а в SSIS, намного важнее.
SSIS может делать JOIN тупым циклом, причём даже исключительно в одном потоке!
Никаких тебе мердж-хэш и т.п., никаких использований наиболее подходящих для джойна индексов, в общем, мрак.
Алгоритмы JOIN-а в SSIS, по сути, равны алгоритмам рядового кодера, который тупо пройдёт вложенными циклами, перебором по массивам.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824326
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgМожет, вы имеете в виду дополнительное время блокировки, которая в случае MSSQL будет держаться до конца джойна?О каких блокировках речь?
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824330
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЕвгенийПовторяю свою фразу:
"У SSIS намного меньшие издержки, ему не нужно поддерживать транзакционность, лог, статистику выполнения и т.п."Вы с упертостью барана отвечаете одной и той же фразой даже не понимая что несете чушь которая ну никак не подтверждает заявленные вами утверждения.

.ЕвгенийНо когда заявляют некую невозможность, а у меня есть противоположный опыт, то я могу им поделиться.
Если кого-то мой опыт возмущает - это его проблемы.За свой опыт вы только что попросили денег.
...
Рейтинг: 0 / 0
Перенос процесса.
    #39824337
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmalexeyvgМожет, вы имеете в виду дополнительное время блокировки, которая в случае MSSQL будет держаться до конца джойна?О каких блокировках речь?Ну как, блокировка при селекте, как минимум схемы, если запрос с nolock.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос процесса.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]