Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос процесса. / 25 сообщений из 47, страница 1 из 2
05.06.2019, 22:26
    #39823113
dermama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос процесса.
Коллеги, добрый вечер.

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


В общем то ли вы не можете сформулировать ясными словами ваши проблемы, то ли их вовсе нет, то ли вы их сами не до конца понимаете.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос процесса. / 25 сообщений из 47, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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