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

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

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

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

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

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

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

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

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

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

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

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

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


Я написал для себе генератор, который создает buffer, stage, процедуру с merge и SSIS пакет. Все сопровождается логировванием.
...
Рейтинг: 0 / 0
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
    #39976036
alexdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
    #39976054
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexdr
.Евгений
SSIS - не очень удобный инструмент разработки. Мягко говоря.

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DWA в России

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

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

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

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



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

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

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


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