|
|
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Не, конечно, в целом, понятно, что нужны. Но будет ли лучше пользоваться SQL кодом там, где это возможно? JOIN в нём делается гораздо быстрее. В этих окошках пока тип каждого поля прощёлкаешь, 10 потов сойдёт. Особенно, бывает такое, что создаёшь какой-нибудь блок Slowly Changing Dimension, старательно прощёлкиваешь типы 15 полей и выясняется, что 16-е поле по типу не сходится. Отменяешь, вытягиваешь этот блочок с преобразованием типа. И т.д. А на каждый блочок "слияние" должно приходиться ещё два блока "сортировка". И самая жесть - если где-то в исходнике (в начале потока данных) поля поменяли свой тип, то приходится переделывать и перещёлкивать вообще все эти поля. Какая-то изнурительная работа. Гораздо проще и быстрее разработка стала, когда я стал тупо создавать всякие блоки типа "код SQL", а поток данных используется только для того, чтобы из файла XML что-то записать в этот SQL - т.е. ровно 2 блока, соединённых стрелкой. Как у вас разрабатывается ETL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 15:41 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland, Пишем всё на ХП от STG и дальше. SSIS как оркестратор и логирование. Загрузка из источников в STG через SSIS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 16:16 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland, SSIS - не очень удобный инструмент разработки. Мягко говоря. Но со временем появляется сноровка в обращении с инструментом. Блок Slowly Changing Dimension - это хрень (имхо). Блок "сортировка" - опасная на больших объемах вещь. Поэтому почти всегда сортирую в источнике. Типизация внутри ETL обычно более строга, чем для SQL. А все ради производительности и эффективности выполнения характерных для ETL задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 16:24 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
T87 Charles Weyland, Пишем всё на ХП от STG и дальше. SSIS как оркестратор и логирование. Загрузка из источников в STG через SSIS. прошу прощения, ХП - это о чём?) STG - Staging Area? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 16:42 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland, ХП-хранимая процедура/stored procedure авторSTG - Staging Area? она самая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 17:07 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
londinium Charles Weyland, ХП-хранимая процедура/stored procedure авторSTG - Staging Area? она самая Ааааа. Блин. Ну вот так я и делаю. Разработка идёт в 100 раз быстрее. А у меня над ухом сидит теоретический эксперт, который что-то там говорит про то, что всё, что можно сделать стрелочками, надо делать стрелочками. А они меня прям бесят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 17:14 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland Гораздо проще и быстрее разработка стала, когда я стал тупо создавать всякие блоки типа "код SQL", а поток данных используется только для того, чтобы из файла XML что-то записать в этот SQL - т.е. ровно 2 блока, соединённых стрелкой. Как у вас разрабатывается ETL? Я написал для себе генератор, который создает buffer, stage, процедуру с merge и SSIS пакет. Все сопровождается логировванием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 18:04 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
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 раз быстрее. Там помимо разработки еще много чего бывает в жизненном цикле решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 18:56 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
alexdr .Евгений SSIS - не очень удобный инструмент разработки. Мягко говоря. Это спорное утверждение. Кому как. Но нет в жизни идеала, у каждой зверушки свои погремушки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 19:51 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений alexdr пропущено... Это спорное утверждение. Кому как. Но нет в жизни идеала, у каждой зверушки свои погремушки... Расскажи ка Евгений, а чем ты нынче лярды строк копируешь и Гиги ипортируешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 20:42 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Расскажи ка Евгений, а чем ты нынче лярды строк копируешь и Гиги ипортируешь? Формально говоря, SSIS-ом. А де-факто у меня половина компонент (включая источники и приемники) - это Script Task, пакеты шлют друг другу данные напрямую, и т.п. Это явно не SSIS здорового человека, а мутант и химера. Нормальные программисты БД обычно тяготеют к ELT, а я наоборот - все трансформации затягиваю в SSIS. И мне это почему-то нравится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 21:23 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Делаю в SSIS только минимально возможные трансформации, например, тип данных поменять (чтобы потом джойн был без ненужных конверсий миллионов строк). Все остальное проще и быстрее (а значит и дешевле!) сделать в etl-процедуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 23:06 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
alexdr Это обычный повод для холивара "своя нетленка vs промышленный тул" Ну так я и не заявляю, что наш подход лучший, и никого не принуждаю. Человек спросил кто как делает, я ответил. Еще в тему SSIS. Многие стандартные компоненты для источников данных у него очень убогие. Мы например написали свои для Excel (думаю все знают проблемы с типами данных, драйвером ACE.OLEDB и т.п.) и Soap-сервисов (из коробки это просто ужас какой-то) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2020, 22:25 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
В SSIS много недостатков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2020, 09:43 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
tunknown В SSIS много недостатков. Много недостатков есть в каждом туле. Нет тулов без недостатков. Особенно, когда "хочется странного". То, что Вы написали по опубликованной выше ссылке мне вообще ни разу не понадобилось (не потребовалось) за многие годы работы с ETL-решениями. И ни разу не возникло задачи, которую я не смог бы реализовать в SSIS тем или иным способом. Всяк себе выбирает инструмент по душе. Опять же за многие годы чтения постов хейтеров SSIS (никого лично не имею ввиду) сложилось впечатление, что либо не хватило терпения (компетенции) найти способ решения задачи, либо компетенции в каком-либо ином инструменте выше и поэтому кажется, что с помощью этого инструмента задачи решаются проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2020, 11:53 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
tunknown В SSIS много недостатков. Претензии автора указанной темы для меня выглядят во многом странно и вызывают четкую ассоциацию с хейтом (не вижу сейчас смысла углубляться). Лично для меня и моих задач SSIS является полуфабрикатом, который нужно довольно долго доводить до кондиции (например, скрипт-тасками), и только после этого он покажет себя с лучшей стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2020, 12:56 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
У меня, кстати, тоже скрипт-тасков много. Проблема в том, что в них неудобно передавать параметры и тяжеловато с общим кодом - его сделать невозможно, пришлось через отдельную подключаемую сборку делать. А отладка вообще адовая( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2020, 18:11 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland У меня, кстати, тоже скрипт-тасков много. Проблема в том, что в них неудобно передавать параметры и тяжеловато с общим кодом - его сделать невозможно, пришлось через отдельную подключаемую сборку делать. А отладка вообще адовая( Своя dll действительно сильно упрощает жизнь. Из коробки параметры передаются действительно не очень удобно, но есть способы упрощения. Своя dll в помощь. Скрипт отлаживается аналогично обычному проекту C#, если вы не меняли для скрипта версию .Net. И даже в этом случае вы можете, например, писать отладочную информацию в лог SSIS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2020, 19:55 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений Charles Weyland У меня, кстати, тоже скрипт-тасков много. Проблема в том, что в них неудобно передавать параметры и тяжеловато с общим кодом - его сделать невозможно, пришлось через отдельную подключаемую сборку делать. А отладка вообще адовая( Своя dll действительно сильно упрощает жизнь. Из коробки параметры передаются действительно не очень удобно, но есть способы упрощения. Своя dll в помощь. Скрипт отлаживается аналогично обычному проекту C#, если вы не меняли для скрипта версию .Net. И даже в этом случае вы можете, например, писать отладочную информацию в лог SSIS. Своя dll - это гемор при деплое на сервера UAT и Prod ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2020, 09:18 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
T87 Своя dll - это гемор при деплое на сервера UAT и Prod Особого головняка нет, просто вместе со своим компонентом - пишешь проект который делает инсталлятор (.msi), он умеет корректно добавлять dll в GAC. Последний раз заняло около часа, с правкой кода выяснения - где же SSIS установлен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2020, 11:56 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Ferdipux T87 Своя dll - это гемор при деплое на сервера UAT и Prod Особого головняка нет, просто вместе со своим компонентом - пишешь проект который делает инсталлятор (.msi), он умеет корректно добавлять dll в GAC. Последний раз заняло около часа, с правкой кода выяснения - где же SSIS установлен. А еще от версии SQL Server зависит путь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2020, 00:05 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Ferdipux T87 Своя dll - это гемор при деплое на сервера UAT и Prod Особого головняка нет, просто вместе со своим компонентом - пишешь проект который делает инсталлятор (.msi), он умеет корректно добавлять dll в GAC. Последний раз заняло около часа, с правкой кода выяснения - где же SSIS установлен. А можно чуть-чуть подробнее в этом месте? Какие слова в поисковик вбивать, чтобы понять, как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2020, 21:40 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Charles Weyland А можно чуть-чуть подробнее в этом месте? Какие слова в поисковик вбивать, чтобы понять, как это сделать? Пример - https://blog.tallan.com/2017/02/02/creating-an-effortless-custom-ssis-object-installer-using-wix . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 11:16 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
авторНо будет ли лучше пользоваться SQL кодом там, где это возможно? Микрософт сам уже, тоже, видимо, устал от деятелей, которые используют SSIS там где это неэффективно. В курсе по хранилищам от микрософта, уже, уговаривающим тоном про это говорится: "пожалуйста, не думайте что вы должны делать это именно на SSIS". DWA в России Но я думаю, довольно немного людей курсы проходит, а еще меньше внимательно проходит advanced разделы, из которого взята цитата (у coursera 4% людей курсы до конца доходят, вроде). И SQL ru это довольно сомнительное место для обсуждения фундаментальных вопросов )) Тут у людей больше типа продажные темы - скорее будут запутывать, чтобы потом продать, чем рассказывать о том что на самом деле думают ))) DWA в России DWA в России ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2020, 00:49 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Evolex_ В курсе по хранилищам от микрософта, уже, уговаривающим тоном про это говорится: "пожалуйста, не думайте что вы должны делать это именно на SSIS". Вы вырвали фразу из контекста. Там сказано, "if you have data staged" . Грубо говоря. Внутри одной БД -- однозначно скрипты. Между серверами, особенно трудно связанными -- SSIS. Но как сказал один мой старый знакомый программист: "ещё не придумали более быстрого способа передачи данных, чем КАМАЗ набитый хардами." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2020, 11:36 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin "ещё не придумали более быстрого способа передачи данных, чем КАМАЗ набитый хардами." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2020, 12:19 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Грубо говоря. Внутри одной БД -- однозначно скрипты. Между серверами, особенно трудно связанными -- SSIS. Ну почему однозначно-то? (Даже не говорю о множестве причин, по которым в живой системе источники или приемники могут быть в любой момент вынесены из общей БД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2020, 12:32 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
George Nordic Golden Gate, Attunity... Ой! И доказательства последуют? Описание дизайна исследования? Материалы и методы? Контекст применения? Варианты использования? Полученные результаты? .Евгений a_voronin Грубо говоря. Внутри одной БД -- однозначно скрипты. Между серверами, особенно трудно связанными -- SSIS. Ну почему однозначно-то? Ну, да. Категоричность утверждения тоже ухо резанула. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2020, 16:54 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
alexdr George Nordic Golden Gate, Attunity... Ой! И доказательства последуют? Описание дизайна исследования? Материалы и методы? Контекст применения? Варианты использования? Полученные результаты? .Евгений пропущено... Ну почему однозначно-то? Ну, да. Категоричность утверждения тоже ухо резанула. Господа, речь идет об интерпретации текста по ссылке. Фраза была про то, что не всегда обязательно использовать SSIS. Так SISS так не SSIS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 09:44 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
alexdr Ой! И доказательства последуют? Описание дизайна исследования? Материалы и методы? Контекст применения? Варианты использования? Полученные результаты? С Уважением, Георгий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 10:28 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Господа, речь идет об интерпретации текста по ссылке. Фраза была про то, что не всегда обязательно использовать SSIS. Так SISS так не SSIS. В конечном счете там жалоба на плохую масштабируемость трансформации SCD в сравнении с производительностью SQL-ных Set Base operations. Дополнительная ссылка на Microsoft (известный рассадник кимболловщины) - тоже не слишком убедительна. Нашли на кого сослаться - на мачеху Золушки, у которой до сих пор нет полноценного курса по SSIS (20767 лишь наполовину относится к SSIS и не поднимается выше начального уровня), и которая гонит клиентов от собственных инфраструктур ETL в свое светло-ажурное будущее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 10:39 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
George Nordic Так и с ELT - кто-то пользуется bulk, кто-то перешел на cdc - курите Change Data Capture. Георгий, не проясните мысль, противопоставляющую bulk и cdc? В каком контексте одно служит заменителем другого? И почему здесь выплыло сdc? Ах, да... неужели из-за того, что было помянуто Attunity? George Nordic Ну и стоимость CDC решений, конечно, очень сильно влияет на это уравнение. А сколько стоит cdc-решение? Из чего стоимость составляется, кроме затрат на разработку (персонал, средства производства, если железки так можно назвать)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 12:58 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений известный рассадник кимболловщины Да что ж такое-то? Чем бедный старина Ральф не угодил? .Евгений до сих пор нет полноценного курса по SSIS Насчет SSIS курса не знаю. Не очень представляю как он должен был бы быть составлен, чтобы была очевидна вся мощь и красота SSIS (пардон за патетику). Там для сиквела 2005 была изумительная вещь. Project REAL: Business Intelligence ETL Design Practices называлась. Жаль, что ее не стали апгрейдить для более поздних версий сиквел-сервера. Как по мне, так никто ничего лучше обучающего по SSIS пока не придумал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 13:09 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений t (известный рассадник кимболловщины) А ты Евгений в сторону Инмоншивны или Линстеденщины больше смотришь? Я-то уже давно на Роенбаковшину подсел. А ты на что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 14:26 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
alexdr Да что ж такое-то? Чем бедный старина Ральф не угодил? Это будет уже оффтоп. Скажу так: я не увидел у MS иного места для SSIS, кроме как необязательного средства для облегчения построения ХД по Кимболлу. alexdr Насчет SSIS курса не знаю. Не очень представляю как он должен был бы быть составлен, чтобы была очевидна вся мощь и красота SSIS (пардон за патетику). Вы в потрохах SSIS копались, всякие PipelineBuffer и add_data_tap знакомы? Вот про это должен быть продвинутый курс. Про автоматизацию создания пакетов посредством biml и C#. И т.п. a_voronin А ты Евгений в сторону Инмоншивны или Линстеденщины больше смотришь? Я-то уже давно на Роенбаковшину подсел. А ты на что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 14:44 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений Это будет уже оффтоп. Думаю, что ничего страшного и топикстартер возражать не будет. .Евгений я не увидел у MS иного места для SSIS, кроме как необязательного средства для облегчения построения ХД по Кимболлу. Ммм... SSIS и DWH по Кимабаллу, они ж ортогональны друг другу. Не? .Евгений Вы в потрохах SSIS копались, всякие PipelineBuffer и add_data_tap знакомы? Копались. По мере необходимости. Особенно когда заказчику хочется странного, и проще сделать, чем объяснить, что так делать не нужно, а твое начальство больше убеждают финансовые аргументы заказчика нежели голос здравого смысла. А если необходимости нет, зачем копаться? Из академического интереса? .Евгений Про автоматизацию создания пакетов посредством biml и C#. BIML'ю так и не нашел жизненного применения, допускаю, что из-за зашоренности или особенностей проектов. А программное создание пакетов в .NET - очень себе увлекательная и в отдельных случаях полезная задача. Правда, пригодилось лишь в одном проекте. a_voronin Я на онлайн ХД с минимальной задержкой. У Кимбалла свой взгляд на low latency DWH. Это не означает, что у бизнеса отсутствует потребность в интеграции low latency данных и я имею что-то против них... И Вы будете смеяться, но программно создавать пакеты пришлось именно тогда, когда потребовались low latency данные, и никакого DWH по Кимбаллу в этом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 15:30 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
alexdr Думаю, что ничего страшного и топикстартер возражать не будет. Ммм... SSIS и DWH по Кимабаллу, они ж ортогональны друг другу. Не? На всякий случай сообщаю, что высказываю свою личную точку зрения. Кимболл воспринимает ETL как средство для подготовки кубов (точнее, таблиц измерений и фактов), он много пишет о том, какие данные хочет увидеть, но не углубляется в то, как именно это делать. С другой стороны, якорная модель представляет собой квинтэссенцию упрощения ETL, благодаря чему сравнительно легко автоматизируется. Шерифа не волнуют проблемы индейцев, по малейшему поводу собирающих множество таблиц. Ни те, ни другие не ставят в центр средство ETL и его возможности. Что оно может делать эффективно (и какими способами), а что - нет? Как разделить типичные задачи ETL между СУБД, ETL, вставками на C#/Java/etc? alexdr А если необходимости нет, зачем копаться? Из академического интереса? У меня есть такая необходимость, и она привела меня к более глубокому пониманию функционирования SSIS, нежели было ранее. alexdr У Кимбалла свой взгляд на low latency DWH. Это не означает, что у бизнеса отсутствует потребность в интеграции low latency данных и я имею что-то против них... У меня все данные low latency (с поправкой на застрявшие невалидные). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2020, 16:56 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений У меня все данные low latency (с поправкой на застрявшие невалидные). Евгений, я недавно разбирался с этой темой. И вышел вот на что: есть аналитическая отчетность и оперативная отчетность. Когда мы хотим видеть near realtime -- Сколько за Трампа проголосовать на последнюю минуту -- то это оперативная. Когда мы хотим видеть тенденции сезонного колебания цен -- это аналитическая. Аналитическую просто не построить с low latency и не зачем. Так вот для оперативной делается ODS, а не Stage+DWH+Marts. В Авито, кстати такое деление прослеживается. И ODS не делается по Кимбаллу. Он консолидирует данные, но схему БД меняет минимально. Хотя какие-то манипуляции там допустимы. https://bizfluent.com/info-8579992-difference-between-analytical-operational-reporting.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 10:13 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Евгений, я недавно разбирался с этой темой. И вышел вот на что: есть аналитическая отчетность и оперативная отчетность. Деление данных на "быстрые" и "глубокие" - не от хорошей жизни, а потому, что не получается делать "быстрые и глубокие" одновременно. Не то, что незачем - а зелен виноград. Для моего DWH ненормальна задержка поступления данных более 30 секунд (обычно она измеряется секундами). За это время все новые данные раскладываются по сущностям ХД, разрешаются все идентификаторы на суррогатные, выполняются проверки качества и применяется стратегия обновления. Объемы сущностей ХД - до миллиарда строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 10:42 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
del ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 10:43 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений a_voronin Евгений, я недавно разбирался с этой темой. И вышел вот на что: есть аналитическая отчетность и оперативная отчетность. Деление данных на "быстрые" и "глубокие" - не от хорошей жизни, а потому, что не получается делать "быстрые и глубокие" одновременно. Не то, что незачем - а зелен виноград. Для моего DWH ненормальна задержка поступления данных более 30 секунд (обычно она измеряется секундами). За это время все новые данные раскладываются по сущностям ХД, разрешаются все идентификаторы на суррогатные, выполняются проверки качества и применяется стратегия обновления. Объемы сущностей ХД - до миллиарда строк. Да не вопрос, что их миллиарды, и что делаются суррогатные ключи. Но это не DWH, а ODS. Кстати вот именно на якорной модели в AVITO построено ODS. Именно вопрос скоростной генерации суррогатных ключей и решается ею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 11:49 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Да не вопрос, что их миллиарды, и что делаются суррогатные ключи. Но это не DWH, а ODS. Не ODS, а DDS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 12:10 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений a_voronin Да не вопрос, что их миллиарды, и что делаются суррогатные ключи. Но это не DWH, а ODS. Не ODS, а DDS. Я имел ввиду именно ODS https://sqlwithmanoj.com/2014/12/17/what-is-ods-operational-data-store-and-how-it-differs-from-data-warehouse-dw/ An operational data store (or "ODS") is used for operational reporting and as a source of data for the Enterprise Data Warehouse (EDW). It is a complementary element to an EDW in a decision support landscape, and is used for operational reporting, controls and decision making, as opposed to the EDW, which is used for tactical and strategic decision support. An ODS is a database designed to integrate data from multiple sources for additional operations on the data, for reporting, controls and operational decision support. Unlike a production master data store, the data is not passed back to operational systems. It may be passed for further operations and to the data warehouse for reporting. An ODS should not be confused with an enterprise data hub (EDH). An operational data store will take transactional data from one or more production system and loosely integrate it, in some respects it is still subject oriented, integrated and time variant, but without the volatility constraints. This integration is mainly achieved through the use of EDW structures and content. An ODS is not an intrinsic part of an EDH solution, although an EDH may be used to subsume some of the processing performed by an ODS and the EDW. An EDH is a broker of data. An ODS is certainly not. Because the data originates from multiple sources, the integration often involves cleaning, resolving redundancy and checking against business rules for integrity. An ODS is usually designed to contain low-level or atomic (indivisible) data (such as transactions and prices) with limited history that is captured "real time" or "near real time" as opposed to the much greater volumes of data stored in the data warehouse generally on a less-frequent basis. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 12:18 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin .Евгений пропущено... Не ODS, а DDS. Как полный скоп детальных данных. Причем (в моем случае) отличающийся по структуре от данных исходных систем (на твоей картинке это Data Warehouse). Я уже писал выше, что у меня нет потребности в отдельных оперативных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 12:27 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений a_voronin пропущено... Как ты расшифровываешь DDS? Как полный скоп детальных данных. Причем (в моем случае) отличающийся по структуре от данных исходных систем (на твоей картинке это Data Warehouse). Я уже писал выше, что у меня нет потребности в отдельных оперативных данных. Ты не расшифровал DDS. Ты какие-то агрегаты на лету суммируешь? Или в чем отличие от оперативных данных. То о чем ты говоришь, это не DWH и близко. Это ODS или что-то ещё, но точно не DWH. Вот я и хочу понять что. По DDS находиться вот что Digital Data Storage (DDS) is a computer data storage technology that is based upon the digital audio tape (DAT) format that was developed during the 1980s. DDS is primarily intended for use as off-line storage, especially for generating backup copies of working data. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 12:51 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений Деление данных на "быстрые" и "глубокие" - не от хорошей жизни, а потому, что не получается делать "быстрые и глубокие" одновременно. Именно. a_voronin Но это не DWH Да. По-видимому, под термином DWH понимаются разные сущности. .Евгений a_voronin Как ты расшифровываешь DDS? Как полный скоп детальных данных. Да, тоже хотелось бы понять как данная аббревиатура расшифровывается. Не толкуется, а именно расшифровывается. a_voronin Это ODS или что-то ещё, но точно не DWH. Вот я и хочу понять что. Мне это тоже интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 13:18 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin .Евгений пропущено... Как полный скоп детальных данных. Причем (в моем случае) отличающийся по структуре от данных исходных систем (на твоей картинке это Data Warehouse). Я уже писал выше, что у меня нет потребности в отдельных оперативных данных. Ты не расшифровал DDS. Ты какие-то агрегаты на лету суммируешь? Или в чем отличие от оперативных данных. То о чем ты говоришь, это не DWH и близко. Это ODS или что-то ещё, но точно не DWH. Вот я и хочу понять что. Detail Data Store, вполне себе гуглится. На данном этапе консолидируются все данные ХД на максимально необходимом уровне детализации согласно внутренней модели данных ХД. Агрегация - это по определению ( Detail Data Store) не очень типичная задача для данного слоя, хотя и возможная. Основные отличия от ODS - это полное временное покрытие (а не узкий временной срез) и собственная модель данных (а не приближенная к источникам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 13:24 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений a_voronin пропущено... Ты не расшифровал DDS. Ты какие-то агрегаты на лету суммируешь? Или в чем отличие от оперативных данных. То о чем ты говоришь, это не DWH и близко. Это ODS или что-то ещё, но точно не DWH. Вот я и хочу понять что. Detail Data Store, вполне себе гуглится. На данном этапе консолидируются все данные ХД на максимально необходимом уровне детализации согласно внутренней модели данных ХД. Агрегация - это по определению ( Detail Data Store) не очень типичная задача для данного слоя, хотя и возможная. Основные отличия от ODS - это полное временное покрытие (а не узкий временной срез) и собственная модель данных (а не приближенная к источникам). Не вижу разницы с ODS . ODS может иметь и свою модель -- DataVaull или Anchor Model, например . И временной срез на нем тоже может быть полный. Так в чем отличие DDS и ODS? И не гуглиться оно. Что-то крайне специфическое для конкретных систем, а понятие свойственное для теории BI в целом. Вот здесь есть список 13 видов data store. https://www.forbes.com/sites/adrianbridgwater/2018/07/05/the-13-types-of-data/#23e9b9d73362 Operatoinal Data там есть. А то, о чем ты говоришь, оно в этом списке что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 13:39 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin ODS может иметь и свою модель -- DataVaull или Anchor Model, например. И временной срез на нем тоже может быть полный. Я говорил выше про якорную модель - она упрощает загрузку, но усложняет получение данных. Я не строил ODS таким образом, поэтому не стану говорить про связанные с этим проблемы. a_voronin https://www.forbes.com/sites/adrianbridgwater/2018/07/05/the-13-types-of-data/#23e9b9d73362 Operatoinal Data там есть. А то, о чем ты говоришь, оно в этом списке что? Я избегаю сайты, запрещающие AdBlock. Архитектура области хранения данных базы данных корпоративного хранилища, как правило, состоит из следующих областей: область временного хранения данных (Staging Area) – предназначена для временного хранения данных, извлеченных из систем-источников; является промежуточным слоем между операционными системами компании и хранилищем данных; область постоянного хранения данных, которая включает: детальные данные (System of records) – область хранения детальных данных, приведенных к структуре модели данных корпоративного хранилища, прошедших очистку и обогащение; агрегаты (Summary area) – сгруппированные по времени (чаще просуммированные) детальные данные; витрины данных (Data Marts) – тематические наборы данных, хранящиеся в виде пригодном для их анализа (например, схема «звезда»); ориентированны на поддержку конкретных бизнес-процессов, приложений, подразделений компании, бизнес-целей; ... Детальные данные (System of records) Данная область является основной хранилища данных. В этой области хранятся преобразованные и очищенные детальные данные, полученные из систем-источников, и основные классификаторы. Хорошо спроектированная модель данной области является залогом дальнейшего успешного функционирования базы данных и BI-приложения. Данная область содержит следующие типы сущностей: справочники и классификаторы; сущности, содержащие фактические значения; сущности, описывающие связи. Справочники и классификаторы определяют: участников основных бизнес-процессов – клиентов, поставщиков, филиалы, услуги, продукты и т.п. базовые справочники – дата и время, валюта, страны и т.п. прочие справочники – отражающие потребности бизнеса в необходимой аналитике данных, определяющие в разрезе каких справочников необходимо анализировать фактические данные. Сущности, содержащие фактические значения, – транзакционные данные из систем источников. Например, информация о совершенных телефонных звонках, выставленных счетах, проводках, проданных товарах и т.п. Сущности, содержащие связи, определяют взаимосвязи между остальными сущностями. Например, Клиент-Услуга. Область детальных данных не содержит никаких агрегатов. Только детальные, очищенные и структурированные в соответствии с моделью данные. Ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 14:12 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Так в чем отличие DDS и ODS? И не гуглиться оно. Что-то крайне специфическое для конкретных систем, а понятие свойственное для теории BI в целом. DDS это конченый слой хранилища данных по Инмону. Который в третьей нормальной форме. На большинстве хранилищ, с какими я работал, был такой слой и так и назывался. После него идут Кимбаловские Data Marts. По Detail data store достаточно ссылок понятных в гугле. Вот с самого начала https://habr.com/ru/company/tinkoff/blog/259173/ там он упоминается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 15:07 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Бумбараш, В общем вы пришли к Immon мы Kimball ? 3NF vs Star ? Ods vs DDS ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 17:35 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
a_voronin Ods vs DDS ? ODS - это выделенная часть ХД с низкой задержкой за счет упрощенных трансформаций данных, узкого временного среза и других методов. Остальная часть ХД (DDS, Marts и т.п.) может быть какой угодно: по Инмону, Кимболлу или Марксу-Энгельсу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2020, 17:41 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений Для моего DWH ненормальна задержка поступления данных более 30 секунд (обычно она измеряется секундами). За это время все новые данные раскладываются по сущностям ХД, разрешаются все идентификаторы на суррогатные, выполняются проверки качества и применяется стратегия обновления. Объемы сущностей ХД - до миллиарда строк. я верно понимаю что ключ к успеху отказ от foreign keys ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 12:09 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
H5N1 .Евгений Для моего DWH ненормальна задержка поступления данных более 30 секунд (обычно она измеряется секундами). За это время все новые данные раскладываются по сущностям ХД, разрешаются все идентификаторы на суррогатные, выполняются проверки качества и применяется стратегия обновления. Объемы сущностей ХД - до миллиарда строк. я верно понимаю что ключ к успеху отказ от foreign keys ? FK действительно отсутствуют, но дело совершенно не в этом. Уменьшение времени итераций загрузки (с десятков минут до единиц секунд) было достигнуто посредством тотального перемещения трансформаций в средство ETL и максимального сокращения обращений к СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 12:41 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
.Евгений H5N1 пропущено... я верно понимаю что ключ к успеху отказ от foreign keys ? Уменьшение времени итераций загрузки (с десятков минут до единиц секунд) было достигнуто посредством тотального перемещения трансформаций в средство ETL и максимального сокращения обращений к СУБД. Случайно не BULK INSERT ? У себя не нашел ничего разумного (12 млн записей за 1 день - таблица 8 полей) как выгружать с помощью BCP из базы 1с а загружать в XD BULK INSERT всего 120 сек , промежуточный файл CSV 1Гб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 13:55 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
iliko67 Случайно не BULK INSERT ? У себя не нашел ничего разумного (12 млн записей за 1 день - таблица 8 полей) как выгружать с помощью BCP из базы 1с а загружать в XD BULK INSERT всего 120 сек , промежуточный файл CSV 1Гб Использование пакетной вставки в БД применяю максимально широко. Хотя и с поправкой на обработку пакета при отказе: из пакета нужно выделить невалидные строки и обеспечить загрузку валидных. Но это совсем не главное. Повторюсь, что я в принципе минимизирую обращения к СУБД, поэтому основная работа по оптимизации давно приходится на трансформации (парсинг XML, замена ключей, контроль качества). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:14 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
H5N1 .Евгений Для моего DWH ненормальна задержка поступления данных более 30 секунд (обычно она измеряется секундами). За это время все новые данные раскладываются по сущностям ХД, разрешаются все идентификаторы на суррогатные, выполняются проверки качества и применяется стратегия обновления. Объемы сущностей ХД - до миллиарда строк. я верно понимаю что ключ к успеху отказ от foreign keys ? Ключ к успеху во введении Surrogate Keys . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:29 |
|
||
|
ETL в SSIS. Зачем все эти преобразования "добавить столбец" и пр.? SQL не лучше?
|
|||
|---|---|---|---|
|
#18+
Вот простая, характерная и несложная иллюстрация к словам о ключах и успехах. Я взял для примера первую попавшуюся таблицу из 19 тыс. строк и 60 разнообразных столбцов. Вывел селектом сначала ее, затем добавил вывод хеша столбцов hashbytes('md5', isnull(convert(varbinary(8000), столбец_n), 0) + ...) Повторяю несколько раз (прогревая кеш), выбираю типичное значение статистики: Статистика SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 1 ms. (18945 rows affected) Table ***'. Scan count 1, logical reads 1034, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 78 ms, elapsed time = 98 ms. SQL Server parse and compile time: CPU time = 5 ms, elapsed time = 5 ms. (18945 rows affected) Table '***'. Scan count 1, logical reads 1034, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 359 ms, elapsed time = 429 ms. SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 0 ms. Теперь беру в руки SSIS, создаю пакет с источником - той же таблицей и скриптом-приемником, логирую разницу PreExecute и PostExecute и запускаю прямо на локальной машине, без деплоя. Получаю 55 мс (+-5). Вставляю в скрипт вызов расчета md5 (на основе MD5CryptoServiceProvider) всех столбцов внутри PipelineBuffer, запускаю. Получаю 65 мс (+-5) , т.е. трансформация замедлила выполнение ETL на 15-20% . Выводы каждый может сделать сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 18:37 |
|
||
|
|

start [/forum/topic.php?all=1&fid=49&tid=1857278]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 417ms |

| 0 / 0 |
