Для разработчиков стоит ли изучать / использовать SSIS? - PullRequest
6 голосов
/ 05 января 2010

Я начинаю активно участвовать в работе над ETL на своей текущей работе, и все, кажется, довольно неравнодушны к SSIS. Я изо всех сил пытаюсь сделать самые простые преобразования в BI-студии, которые обычно приравнивают к паре циклов foreach с щепоткой LINQ. Я не уверен в вариантах использования или пользователях, для которых этот инструмент был бы полезен, и, вероятно, убедит руководство, что я могу обойтись без него. Каков наилучший способ изложить мое мнение, или, если есть какие-либо рекомендации по улучшению инструментов, это также будет оценено.

Ответы [ 3 ]

4 голосов
/ 05 января 2010

Как и во всем, у SSIS есть свои плюсы и минусы.

Существует крутая кривая обучения, и часто вещи, которые кажутся простыми, не являются таковыми. Иногда это ошибка SSIS и его инструментария, иногда это просто случай, когда мы не думаем по-SSIS.

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

Если вы создаете сложные пакеты ETL для разных систем, то это очень подходящий и мощный инструмент, который может быть полезен для добавления в ваш набор навыков, особенно когда вам необходимо участвовать в начальном процессе проектирования для решение. Если все, что вам известно, это код C #, то это все, что вы можете предложить, когда пакет служб SSIS может быть правильным решением.

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


А что касается минусов, то здесь сообщение от Ayende , в котором говорится о некоторых ключевых болевых точках в SSIS.

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

  • Отсутствие хорошей расширяемости ведения журналов раздражало меня - войти в систему довольно сложно, кроме SSIS
  • Схема конфигурации может быть реальной болью

Я думаю, что следующая версия SSIS будет адресована всем этим, хотя ... это всего лишь часть мира Microsoft, дела постепенно улучшаются, но они, как правило, становятся лучше.

4 голосов
/ 05 января 2010

Я не знаю SSIS, кроме прочтения некоторых основ. Также как и вы, мне очень удобно работать с LINQ, и я могу быстро написать код для перемещения и преобразования данных.

Но что, если в таблице 4 гигабайта данных? Как вы думаете, ваш код LINQ будет справляться с этим изящно? Это может быть обработано, но не легко, особенно если существует множество таблиц, ссылающихся друг на друга. Наивная реализация LINQ будет пытаться загрузить все в память и вылететь.

Еще одним оправданием является то, что ваши сотрудники сильны в SSIS. Любое решение, которое вы предлагаете компании, основанное на SSIS, будет более ценным для компании, чем LINQ, поскольку другие люди могут поднять его, исправить или расширить.

2 голосов
/ 05 января 2010

SSIS - отличный инструмент, но сначала вы должны понять основные понятия. Это позволяет вам сосредоточиться на процессе ETL вместо программирования и отладки вашего кода. Есть кривая обучения.

Взгляните на Microsoft Project Real примеров и посмотрите, что будет эквивалентно циклу foreach для чего-то подобного.

Возможно, вы также захотите взглянуть на Pentaho-Kettle и Oracle Data Integrator, но я думаю, у вас возникнет то же чувство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...