Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше? / 25 сообщений из 58, страница 1 из 3
03.07.2020, 15:41
    #39975964
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Не, конечно, в целом, понятно, что нужны.

Но будет ли лучше пользоваться SQL кодом там, где это возможно? JOIN в нём делается гораздо быстрее.
В этих окошках пока тип каждого поля прощёлкаешь, 10 потов сойдёт.
Особенно, бывает такое, что создаёшь какой-нибудь блок Slowly Changing Dimension, старательно прощёлкиваешь типы 15 полей и выясняется, что 16-е поле по типу не сходится. Отменяешь, вытягиваешь этот блочок с преобразованием типа. И т.д.

А на каждый блочок "слияние" должно приходиться ещё два блока "сортировка".
И самая жесть - если где-то в исходнике (в начале потока данных) поля поменяли свой тип, то приходится переделывать и перещёлкивать вообще все эти поля. Какая-то изнурительная работа.

Гораздо проще и быстрее разработка стала, когда я стал тупо создавать всякие блоки типа "код SQL", а поток данных используется только для того, чтобы из файла XML что-то записать в этот SQL - т.е. ровно 2 блока, соединённых стрелкой.

Как у вас разрабатывается ETL?
...
Рейтинг: 0 / 0
03.07.2020, 16:16
    #39975991
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland,

Пишем всё на ХП от STG и дальше. SSIS как оркестратор и логирование.
Загрузка из источников в STG через SSIS.
...
Рейтинг: 0 / 0
03.07.2020, 16:24
    #39975994
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland,

SSIS - не очень удобный инструмент разработки. Мягко говоря. Но со временем появляется сноровка в обращении с инструментом.
Блок Slowly Changing Dimension - это хрень (имхо).
Блок "сортировка" - опасная на больших объемах вещь. Поэтому почти всегда сортирую в источнике.
Типизация внутри ETL обычно более строга, чем для SQL.

А все ради производительности и эффективности выполнения характерных для ETL задач.
...
Рейтинг: 0 / 0
03.07.2020, 16:42
    #39976001
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
T87
Charles Weyland,

Пишем всё на ХП от STG и дальше. SSIS как оркестратор и логирование.
Загрузка из источников в STG через SSIS.

прошу прощения, ХП - это о чём?)
STG - Staging Area?
...
Рейтинг: 0 / 0
03.07.2020, 17:07
    #39976008
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland,
ХП-хранимая процедура/stored procedure
авторSTG - Staging Area?
она самая
...
Рейтинг: 0 / 0
03.07.2020, 17:14
    #39976013
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
londinium
Charles Weyland,
ХП-хранимая процедура/stored procedure
авторSTG - Staging Area?

она самая
Ааааа. Блин.
Ну вот так я и делаю. Разработка идёт в 100 раз быстрее. А у меня над ухом сидит теоретический эксперт, который что-то там говорит про то, что всё, что можно сделать стрелочками, надо делать стрелочками. А они меня прям бесят.
...
Рейтинг: 0 / 0
03.07.2020, 18:04
    #39976024
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland

Гораздо проще и быстрее разработка стала, когда я стал тупо создавать всякие блоки типа "код SQL", а поток данных используется только для того, чтобы из файла XML что-то записать в этот SQL - т.е. ровно 2 блока, соединённых стрелкой.

Как у вас разрабатывается ETL?


Я написал для себе генератор, который создает buffer, stage, процедуру с merge и SSIS пакет. Все сопровождается логировванием.
...
Рейтинг: 0 / 0
03.07.2020, 18:56
    #39976036
alexdr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland

Но будет ли лучше пользоваться SQL кодом там, где это возможно?

Лучше. Там где это целесообразно.
Charles Weyland
JOIN в нём делается гораздо быстрее.

Угу. Особенно когда нужно сделать джоин таблиц, лежащих на разных серверах. Или с данными из нереляционных источников. Да мало ли еще каких вариантов использования?
Charles Weyland
Особенно, бывает такое, что создаёшь какой-нибудь блок Slowly Changing Dimension

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

Коллега выше написал, что если возможно, сортировку надо делать на сервере с помощью ORDER BY.
T87
Пишем всё на ХП от STG и дальше. SSIS как оркестратор и логирование.
Загрузка из источников в STG через SSIS.

Это обычный повод для холивара "своя нетленка vs промышленный тул"
.Евгений
SSIS - не очень удобный инструмент разработки. Мягко говоря.

Это спорное утверждение. Кому как.
Charles Weyland
Разработка идёт в 100 раз быстрее.

Там помимо разработки еще много чего бывает в жизненном цикле решения.
...
Рейтинг: 0 / 0
03.07.2020, 19:51
    #39976054
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
alexdr
.Евгений
SSIS - не очень удобный инструмент разработки. Мягко говоря.

Это спорное утверждение. Кому как.
Я имею возможность на своем опыте сравнивать SSIS с другими средствами ETL. У которых есть десятки и сотни компонент из коробки, копирование метаданных (схем), трассировка полей по потоку, вменяемый лог, менее глючный интерфейс и другие вкусности.

Но нет в жизни идеала, у каждой зверушки свои погремушки...
...
Рейтинг: 0 / 0
03.07.2020, 20:42
    #39976065
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
.Евгений
alexdr
пропущено...

Это спорное утверждение. Кому как.
Я имею возможность на своем опыте сравнивать SSIS с другими средствами ETL. У которых есть десятки и сотни компонент из коробки, копирование метаданных (схем), трассировка полей по потоку, вменяемый лог, менее глючный интерфейс и другие вкусности.

Но нет в жизни идеала, у каждой зверушки свои погремушки...


Расскажи ка Евгений, а чем ты нынче лярды строк копируешь и Гиги ипортируешь?
...
Рейтинг: 0 / 0
03.07.2020, 21:23
    #39976082
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
a_voronin

Расскажи ка Евгений, а чем ты нынче лярды строк копируешь и Гиги ипортируешь?

Формально говоря, SSIS-ом.

А де-факто у меня половина компонент (включая источники и приемники) - это Script Task, пакеты шлют друг другу данные напрямую, и т.п. Это явно не SSIS здорового человека, а мутант и химера. Нормальные программисты БД обычно тяготеют к ELT, а я наоборот - все трансформации затягиваю в SSIS. И мне это почему-то нравится...
...
Рейтинг: 0 / 0
03.07.2020, 23:06
    #39976100
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Делаю в SSIS только минимально возможные трансформации, например, тип данных поменять (чтобы потом джойн был без ненужных конверсий миллионов строк). Все остальное проще и быстрее (а значит и дешевле!) сделать в etl-процедуре.
...
Рейтинг: 0 / 0
04.07.2020, 22:25
    #39976297
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
alexdr

Это обычный повод для холивара "своя нетленка vs промышленный тул"

Ну так я и не заявляю, что наш подход лучший, и никого не принуждаю. Человек спросил кто как делает, я ответил.

Еще в тему SSIS. Многие стандартные компоненты для источников данных у него очень убогие. Мы например написали свои для Excel (думаю все знают проблемы с типами данных, драйвером ACE.OLEDB и т.п.) и Soap-сервисов (из коробки это просто ужас какой-то)
...
Рейтинг: 0 / 0
06.07.2020, 09:43
    #39976569
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
В SSIS много недостатков.
...
Рейтинг: 0 / 0
06.07.2020, 11:53
    #39976618
alexdr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
tunknown
В SSIS много недостатков.

Много недостатков есть в каждом туле. Нет тулов без недостатков. Особенно, когда "хочется странного". То, что Вы написали по опубликованной выше ссылке мне вообще ни разу не понадобилось (не потребовалось) за многие годы работы с ETL-решениями. И ни разу не возникло задачи, которую я не смог бы реализовать в SSIS тем или иным способом. Всяк себе выбирает инструмент по душе.

Опять же за многие годы чтения постов хейтеров SSIS (никого лично не имею ввиду) сложилось впечатление, что либо не хватило терпения (компетенции) найти способ решения задачи, либо компетенции в каком-либо ином инструменте выше и поэтому кажется, что с помощью этого инструмента задачи решаются проще.
...
Рейтинг: 0 / 0
06.07.2020, 12:56
    #39976642
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
tunknown
В SSIS много недостатков.

Претензии автора указанной темы для меня выглядят во многом странно и вызывают четкую ассоциацию с хейтом (не вижу сейчас смысла углубляться).

Лично для меня и моих задач SSIS является полуфабрикатом, который нужно довольно долго доводить до кондиции (например, скрипт-тасками), и только после этого он покажет себя с лучшей стороны.
...
Рейтинг: 0 / 0
07.07.2020, 18:11
    #39977189
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
У меня, кстати, тоже скрипт-тасков много.
Проблема в том, что в них неудобно передавать параметры и тяжеловато с общим кодом - его сделать невозможно, пришлось через отдельную подключаемую сборку делать.
А отладка вообще адовая(
...
Рейтинг: 0 / 0
07.07.2020, 19:55
    #39977215
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland
У меня, кстати, тоже скрипт-тасков много.
Проблема в том, что в них неудобно передавать параметры и тяжеловато с общим кодом - его сделать невозможно, пришлось через отдельную подключаемую сборку делать.
А отладка вообще адовая(

Своя dll действительно сильно упрощает жизнь.
Из коробки параметры передаются действительно не очень удобно, но есть способы упрощения. Своя dll в помощь.
Скрипт отлаживается аналогично обычному проекту C#, если вы не меняли для скрипта версию .Net. И даже в этом случае вы можете, например, писать отладочную информацию в лог SSIS.
...
Рейтинг: 0 / 0
08.07.2020, 09:18
    #39977282
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
.Евгений
Charles Weyland
У меня, кстати, тоже скрипт-тасков много.
Проблема в том, что в них неудобно передавать параметры и тяжеловато с общим кодом - его сделать невозможно, пришлось через отдельную подключаемую сборку делать.
А отладка вообще адовая(

Своя dll действительно сильно упрощает жизнь.
Из коробки параметры передаются действительно не очень удобно, но есть способы упрощения. Своя dll в помощь.
Скрипт отлаживается аналогично обычному проекту C#, если вы не меняли для скрипта версию .Net. И даже в этом случае вы можете, например, писать отладочную информацию в лог SSIS.

Своя dll - это гемор при деплое на сервера UAT и Prod
...
Рейтинг: 0 / 0
08.07.2020, 11:56
    #39977351
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
T87

Своя dll - это гемор при деплое на сервера UAT и Prod

Особого головняка нет, просто вместе со своим компонентом - пишешь проект который делает инсталлятор (.msi), он умеет корректно добавлять dll в GAC. Последний раз заняло около часа, с правкой кода выяснения - где же SSIS установлен.
...
Рейтинг: 0 / 0
09.07.2020, 00:05
    #39977670
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Ferdipux
T87

Своя dll - это гемор при деплое на сервера UAT и Prod

Особого головняка нет, просто вместе со своим компонентом - пишешь проект который делает инсталлятор (.msi), он умеет корректно добавлять dll в GAC. Последний раз заняло около часа, с правкой кода выяснения - где же SSIS установлен.

А еще от версии SQL Server зависит путь
...
Рейтинг: 0 / 0
12.07.2020, 21:40
    #39978720
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Ferdipux
T87

Своя dll - это гемор при деплое на сервера UAT и Prod

Особого головняка нет, просто вместе со своим компонентом - пишешь проект который делает инсталлятор (.msi), он умеет корректно добавлять dll в GAC. Последний раз заняло около часа, с правкой кода выяснения - где же SSIS установлен.

А можно чуть-чуть подробнее в этом месте? Какие слова в поисковик вбивать, чтобы понять, как это сделать?
...
Рейтинг: 0 / 0
13.07.2020, 11:16
    #39978835
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Charles Weyland

А можно чуть-чуть подробнее в этом месте? Какие слова в поисковик вбивать, чтобы понять, как это сделать?

Пример - https://blog.tallan.com/2017/02/02/creating-an-effortless-custom-ssis-object-installer-using-wix .
...
Рейтинг: 0 / 0
19.07.2020, 00:49
    #39981412
Evolex_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
авторНо будет ли лучше пользоваться SQL кодом там, где это возможно?

Микрософт сам уже, тоже, видимо, устал от деятелей, которые используют SSIS там где это неэффективно. В курсе по хранилищам от микрософта, уже, уговаривающим тоном про это говорится:
"пожалуйста, не думайте что вы должны делать это именно на SSIS".

DWA в России

Но я думаю, довольно немного людей курсы проходит, а еще меньше внимательно проходит advanced разделы, из которого взята цитата (у coursera 4% людей курсы до конца доходят, вроде).

И SQL ru это довольно сомнительное место для обсуждения фундаментальных вопросов ))

Тут у людей больше типа продажные темы - скорее будут запутывать, чтобы потом продать, чем рассказывать о том что на самом деле думают )))

DWA в России
DWA в России
...
Рейтинг: 0 / 0
20.07.2020, 11:36
    #39981720
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
Evolex_
В курсе по хранилищам от микрософта, уже, уговаривающим тоном про это говорится:
"пожалуйста, не думайте что вы должны делать это именно на SSIS".



Вы вырвали фразу из контекста. Там сказано, "if you have data staged" .

Грубо говоря. Внутри одной БД -- однозначно скрипты. Между серверами, особенно трудно связанными -- SSIS.

Но как сказал один мой старый знакомый программист: "ещё не придумали более быстрого способа передачи данных, чем КАМАЗ набитый хардами."
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше? / 25 сообщений из 58, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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