Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
хорошо я согласен
Member

Откуда:
Сообщений: 374
Или какого-нибудь другого

Ssis заставляет пользователя делать многочисленные тычки мышкой (напр., поменять тип всех 20 полей с int на float). Аналогичные действия в текстовом редакторе делаются в секунду.

Плюс, инициализация переменных, передача параметров... Очень удивительно, как мировое сообщество разработчиков это посчитало приемлемым
23 ноя 19, 11:40    [22023471]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
хорошо я согласен
Member

Откуда:
Сообщений: 374
Сижу изучаю пакеты, подпакеты, и, о чудо, новинка 2016 - части пакетов!
Это же давно проверенные процедуры и функции
23 ноя 19, 11:43    [22023473]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2300
хорошо я согласен,

BIML. гуглите
23 ноя 19, 11:48    [22023477]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
bideveloper
Member

Откуда:
Сообщений: 484
хорошо я согласен,

Так в стрелочках и квадратиках вся суть. Так то можно ETL для SQL Server чисто на T-SQL написать.
23 ноя 19, 12:07    [22023490]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
хорошо я согласен

Ssis заставляет пользователя делать многочисленные тычки мышкой (напр., поменять тип всех 20 полей с int на float). Аналогичные действия в текстовом редакторе делаются в секунду.



Я уже дано занимаюсь генерацией пакетов. Для этого есть API.
25 ноя 19, 08:30    [22024289]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 537
хорошо я согласен


Ssis заставляет пользователя делать многочисленные тычки мышкой (напр., поменять тип всех 20 полей с int на float). Аналогичные действия в текстовом редакторе делаются в секунду.

Плюс, инициализация переменных, передача параметров... Очень удивительно, как мировое сообщество разработчиков это посчитало приемлемым

Идея SSIS и редакторов - чтобы кто-то без квалификации разработчика мог тасканием квадратиков создать ETL. Попробуйте классический SAP BW примерно того же времени создания - там то же самое, квадратики, стрелочки и адский ад.
Вообще-то, SSIS пакет - это XML файл. Если знаете структуру - можете править в текстовом редакторе.
Как альтернативы - существуют BIML для генерации пакетов, и собственный API Microsoft, и EzAPI - упрощающий "скучные" задачи в этом API.
25 ноя 19, 10:14    [22024355]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
tunknown
Member

Откуда:
Сообщений: 748
хорошо я согласен
Очень удивительно, как мировое сообщество разработчиков это посчитало приемлемым

Предлагаю дописать минусы в ветку.
25 ноя 19, 10:15    [22024359]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
tunknown
хорошо я согласен
Очень удивительно, как мировое сообщество разработчиков это посчитало приемлемым

Предлагаю дописать минусы в ветку.


Видимо вы что-то не знаете про SSIS, если вам надо делать 20 тычков мышкой.
25 ноя 19, 10:24    [22024372]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2300
a_voronin,

и меня научите, а то там и 2 тысяч тычков маловато бывает
25 ноя 19, 12:21    [22024507]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
ShIgor,

А что вы делаете? Source на destination коннектится автоматически. Ничего там 20 раз тыкать не надо.

типы если не сходятся -- ну тык их надо откастить в исходном запросе.

Я вот недавно писал C# script source и даже там сделал выходы копипастом.
25 ноя 19, 13:20    [22024587]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7401
a_voronin,

+1 там все плохо при неумелом использовании. когда набиваешь руку - лучше средства и не придумать. По крайней мере, у конкурентов такого ETL нет.

Вероятно, имеют в виду преобразование типов в потоках. Зачем менять с int на float не понятно, float используется только в научных целях, для записи показаний приборов. Но он там изначально float.
25 ноя 19, 13:50    [22024629]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1202
хорошо я согласен,
дата появления M ?
SSIS был с хрен знаект какой версии

НЕ идеален - но для таргет БД MS-SQL вряд ли что лушче есть


зы а так смотрите в сторону Airflow
там на Питоне все рисуется - вполне интересный тул
с похожей концепцией
м.б ваш случай - правда он под юникс
25 ноя 19, 14:04    [22024646]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
Гулин Федор,

Вот у меня вопрос airflow умеет мерджить сто лямов на сто лямов (две упорядоченных потока) по хешу прямо в памяти, чтобы синхронизировать две таблицы?
25 ноя 19, 14:08    [22024650]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1202
a_voronin,
я НЕ спец - люди кой чего показывали
я ставил вариант с докером и плюнул - ибо времени ушло слишком много

Идея мне точно нравится - гибко вроде
хотя мне сдается это больше для юинксовых бд
хотя коннекторы к ms-sql тоже есть

зы мне там кидали телеграм чат по airflow - Если сильно интересно - можете там спросить

Осн. плюс SSIS в том что они идет в поставке - взял и юзаешь
все остальное требует доп. усилий
25 ноя 19, 18:06    [22024915]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
ShIgor,

загляните сюда:

http://binodmahto.blogspot.com/2014/07/create-ssis-package-programatically.html
26 ноя 19, 14:12    [22025646]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2300
a_voronin,

и какая связь между граф интерфейсом и API?
API позволяет кликать мышкой или просто кликов мышки при использовании API меньше?
26 ноя 19, 14:18    [22025655]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
ShIgor
a_voronin,

и какая связь между граф интерфейсом и API?
API позволяет кликать мышкой или просто кликов мышки при использовании API меньше?


API позволяет создать пакеты нажимая клавиши. Вы задаете список таблиц, сканите INFORMATION_SCHEMA и создаете автоматические пакеты по некоторому образцу.

Например можно руками сделать задачу для 1 таблицы, а потом размножить её на 100 таблиц.
26 ноя 19, 17:35    [22025906]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2300
a_voronin,

использование API и подобного в качестве средства автоматизации должно быть обусловлено несколькими причинами, как минимум две из них:
1. постоянное изменение состава источников данных и их метаданных приводящих к необходимости обновления использующих их задач
2. полная формализация входных и выходных данных и их трансформация

в остальном смысл генерации SSIS пакетов "на лету" вряд-ли оправдан.
26 ноя 19, 19:24    [22026031]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30807
ShIgor
в остальном смысл генерации SSIS пакетов "на лету" вряд-ли оправдан.
Про генерацию на лету вообще речи не было.
Была речь о другом подходе (в мечтах) к построению SSIS пакетов.
ShIgor
использование API и подобного в качестве средства автоматизации должно быть обусловлено несколькими причинами, как минимум две из них:
1. постоянное изменение состава источников данных и их метаданных приводящих к необходимости обновления использующих их задач
2. полная формализация входных и выходных данных и их трансформация
Смысл тот же, что и применение процедур, функций, а потом и объектного подхода в ЯП.

Не "множить" код методом паст-копи, использовать один код для одинаковой обработки разных данных - давно оценённые паттерны программирования, это позволяет уменьшить стоимость разработки, уменьшить количество ошибок, и ускорить внесение изменений.

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

Положительного эффекта не будет только в том случае, если ничего не меняется, то есть тех. специалисты уволены, и всё работает. Тогда да, совершенно неважно, что там "внутри" у этого чёрного ящика.
26 ноя 19, 19:39    [22026047]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2300
alexeyvg

Была речь о другом подходе (в мечтах) к построению SSIS пакетов.

так и я о том же, что API вообще не способ быстрой правки пакетов, о чем мечтает ТС.

по поводу всего остального не отрицаю, но по факту вижу другое (только что касается SSIS). я на последнем месте работаю больше 8 лет, SSIS везде и всюду, причем свыше 500 однотипных мест возникновения/назначения данных, у которых регулярно меняются метаданные, ну вот ни разу не понадобилось использовать API для тиражирования или правки пакетов, ибо пакетов на задачу 1-2, остальное подставляется внутри пакета параметрами, переменными, выражениями, скриптами с параллельным запуском обработок.
единственный раз когда использовал "копи-паст", когда (уж не помню даже когда) прочитал статью о том как организовать в SSIS параллельную обработку средствами самого же SSIS, чтоб весь параллелизм был наглядно виден. попробовал и выкинул из продакшна - жутко неудобно сопровождать.
использовать API для правки багов тоже себе трудно представляю, это зачем надо было наплодить однотипных задач в разных пакетах? почему не отдельный пакет или процедура в SQL?

Даже тот же BIML не знаю куда прикрутить так чтобы получить от него существенную отдачу.
В общем, для большинства операций хватает кликанья мышкой, для тех кто хочет руками по клавиатуре постучать, тоже есть способ - F7/Shift-F7.
26 ноя 19, 21:55    [22026115]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30807
ShIgor
alexeyvg

Была речь о другом подходе (в мечтах) к построению SSIS пакетов.
так и я о том же, что API вообще не способ быстрой правки пакетов, о чем мечтает ТС.
Не, про генерацию, или про API, в исходном посте не было.

ТС говорит про то, что вместо непонятного формата пакетов, и среды для их рисования, с сохранением в этом формате, Микрософт мог бы придумать какой то язык, предназначенный специально для ETL, программы на котором исполнялись бы в специальной среде, утилите (как сейчас пакеты dtsx исполняются утилитой DTExec).
Тем более что они переписали пакеты полностью, с нуля.
Вот и можно было оставить старые пакеты, и потихоньку их пилить, и сделать новую среду, программистско-дружелюбную, для задач ETL

ShIgor
я на последнем месте работаю больше 8 лет, SSIS везде и всюду, причем свыше 500 однотипных мест возникновения/назначения данных, у которых регулярно меняются метаданные, ну вот ни разу не понадобилось использовать API для тиражирования или правки пакетов, ибо пакетов на задачу 1-2, остальное подставляется внутри пакета параметрами, переменными, выражениями, скриптами с параллельным запуском обработок.
Да, только получается, что SSIS-пакет становится запускателем утилит и скрипт-тасков.

Сейчас, правда, сделали подпакеты, немножко полегче должно быть.

Но большинство вопросов, например, как посмотреть в версионном хранилище исходников разницу между старым и новым пакетом, это не решает.

ShIgor
единственный раз когда использовал "копи-паст", когда (уж не помню даже когда) прочитал статью о том как организовать в SSIS параллельную обработку средствами самого же SSIS, чтоб весь параллелизм был наглядно виден. попробовал и выкинул из продакшна - жутко неудобно сопровождать.
Сплошная боль, в SSIS не удосужились сделать даже распараллеливающий контейнер, позор, за 15 то лет.
26 ноя 19, 22:58    [22026156]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
vikkiv
Member

Откуда: London
Сообщений: 2624
alexeyvg
в SSIS не удосужились сделать даже распараллеливающий контейнер, позор, за 15 то лет.
сейчас у них фокус на Azure, там для Orchestration/Workflow задач вполне хватает инструментов
(от ADF, Flows, CloudShell и до того-же SSIS в разных вариантах {включая спец-таски под Azure} и т.д.)

кроме всего как писал выше a_voronin - там никто не запрещает полноценно ЯП кодить на .NET (C, VB да в конце концов
тот-же PS вызвать, всюду есть достаточно паралельности: Threading.Tasks/Start-Job и т.д., в самом SSIS стандартный MultiCast)
не совсем понимаю почему здесь некоторые высказываются об ограниченности - SSIS всего-лишь
среда с какими-то начальными блоками для неопытных, остальное кодится по необходимости в зависимости от фантазии

M это из PowerQuery который? Так вроде тоже в каких-то формах ещё с Excel-a существовал,
просто сейчас с маркетинговым давлением на пропихиванием Power BI начали более активно развивать
под растущие требования (и документацию привели в порядок),

а так-то у MS ещё целого ряда других языков (VBA,F#,F*,Q#,J#,X#,X++/MorphX,MVPL,MASM,Fortran,MS-DOS,QB/Basic,GWB,QC,QP,TS{JS},PS и куча др.,
туда-же можно добавить активно используемные с MS продуктами R,Python,T-SQL/U-SQL {сугубо их конечно}, в общем что-то скриптовое,
что-то запросное, полноценное ЯП или под специфичные задачи, Haskell Z3 Boogie HTML5 CSS W3C )
хватает под разную специфику и среды - что пользуется спросом и монетизируемо в
долгосрочном плане: развивают, остальное так: естъ и есть или списывают/продают,
так-что смотря какие перспективы и прямая/косвенная(через другие продукты) выгода (прибыль) в перспективе..

слишком мелко-детализированно под разные задачи - свой язык писать это ИМХО немного тупик
из-за не сильной радости пользователей всё это осваивать, т.к. легче один язык освоить
и применять широко под разные задачи: чисто по уровню интеллектуальных трудозатрат рациональней получается.
27 ноя 19, 03:20    [22026206]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4385
alexeyvg
в SSIS не удосужились сделать даже распараллеливающий контейнер, позор, за 15 то лет.


В смысле, не удосужились? Распараллеливание всегда было. С самой первой версии SSIS.

В Control Flow это Group. В DataFlow это Split.

Кидаете 20 Execute Sql в группу и они исполняются параллельно. Сплитите входной поток данных по бакетам, типа ID % 20 и они пошли на 20 стрелочек параллельно.

Картинка с другого сайта.

Сообщение было отредактировано: 27 ноя 19, 08:32
27 ноя 19, 08:27    [22026243]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 537
alexeyvg
Сплошная боль, в SSIS не удосужились сделать даже распараллеливающий контейнер, позор, за 15 то лет.

Неправда ваша, оно есть начиная с SSIS 2014, называется Balanced Data Distributor. Только распространяется внутри Feature Pack, вероятно, поэтому не сильно популярно.
Честное же параллеливание задач SSIS между хостами - Scale-Out - началось с SSIS 2017. Правда, там сразу наступаешь на вопросы лицензирования и прочие заморочки. Так что еще менее популярно.
27 ноя 19, 12:28    [22026525]     Ответить | Цитировать Сообщить модератору
 Re: Ssis - это многочисленные стрелочки, окошечки. Почему нельзя было сделать в виде языка M?  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2300
a_voronin,

1, 2, 3 и 4 batch - это ли не копи-паст? кто мешает в каждом из таких батчей поиметь свою логику?
4, а можно больше? а сколько больше можно? а динамически?
из-за этого и выкинул
27 ноя 19, 13:16    [22026603]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить