informatica powercenter против пользовательского задания perl ETL?

StackOverflow https://stackoverflow.com/questions/1202869

Вопрос

Большая часть моей компании использует powercenter informatica для выполнения заданий по перемещению данных типа Извлечение-Преобразование-загрузка между базами данных.

Однако в проекте, над которым я работаю, есть большое пользовательское задание Perl с добавлением некоторой Java для удобства перемещения данных и запуска некоторых других обновлений.

Ходят разговоры о том, чтобы переписать эту штуку, чтобы вместо нее использовать powercenter, каков опыт людей в таком проекте, имеет ли это смысл?Похоже, что вы проявляете большую гибкость при переходе к такому готовому решению, но много ли вам дают инструменты ETL с точки зрения производительности, например?

Это было полезно?

Решение

Informatica хороша для операционной команды. Это позволяет нетехническому человеку возможность контролировать и повторно запускать задания. Тем не менее, это делает любую задачу намного сложнее, чем нужно. Это огромная часть программного обеспечения, на обучение которой уходит некоторое время, и она ограничена в преобразованиях, которые она может выполнять без программирования. Я бы определенно использовал Perl или язык программирования в любой день вместо «Enterprise ETL». инструмент.

Другие советы

У нас были Informatica и Tibco, начиная с 2001 года, и люди могли легко подобрать Informatica (для базовых задач), но Tibco была проблемой. Сейчас Tibco ушла, и след Informatica вырос, и его код теперь просматривается даже бизнес-аналитиками.

Как только вы овладеете навыками, вы сможете быстро справиться со многими задачами (я сделал 3 таблицы фактов и 12 измерений из нескольких источников в неделю для рынка данных о финансах и заказах), и его легче обслуживать при изменении кода и расписаний. , переход на другого разработчика и т. д. Меньше времени на развлечения, больше времени на собраниях и на работе с документами вашей организации.

Мы используем его для витрин данных, перемещения данных и интерфейсов к ASP.

Теперь у него есть преобразование Java, если вы хотите сделать что-то совершенно нестандартное вместо скомпилированной программы на Си.

В вашем случае я бы перешел на Informatica по двум причинам: анализ воздействия (SLA) и сопровождение (мониторинг, один инструмент ETL). Возможность повторного использования - еще один плюс.

Специально для informatica. Анализ последствий - это отличный инструмент: он предотвращает множество экстренных исправлений и помогает поддерживать SLA. Для меня улучшение SLA выше гибкости. Функции мониторинга в Informatica также очень полезны.

В целом: если ваша компания переходит на один инструмент ETL, преобразование этой работы облегчит обслуживание. Для групп поддержки также более эффективно и надежно отслеживать один инструмент. Надеемся, что ваша компания пытается сделать объекты многоразовыми, что упрощает преобразование и повышает производительность в будущем (новые объекты многократного использования, которые вы можете создавать во время преобразования).

Слово предостережения: задачи конверсии на самом деле трудно оценить. Сделайте это независимым проектом, если можете (не частью большого результата).

Кодирование дает вам большую гибкость.Будь то Perl, Python, C #, Java, SQL - что угодно.Вы можете быстро и легко выполнить некоторые преобразования данных.Зачем кому-то вообще утруждать себя тем, чтобы хотя бы взглянуть на программное обеспечение ETL, верно?

Давайте предположим, что у вас есть готовое решение в целом.Там есть все ваши сценарии на выбранном вами языке.Теперь несколько вопросов:

  • Если объем данных растет и вы не можете вместить все в память, где создается кэш?Можете ли вы это контролировать?
  • Как вы создаете все журналы?Вы это создали?
  • А как насчет обработки ошибок?В случае ошибок (например,проблемы с дисковым пространством, проблемы с подключением и т.д.) Легко ли указать первопричину?
  • Как вы проводите мониторинг?Есть ли какая-нибудь динамическая панель мониторинга?
  • Возможна ли кластеризация в вашем решении?
  • Можно ли выполнить некоторое преобразование данных в нескольких потоках, чтобы оно выполнялось быстрее?
  • Переход на другой ресурс:как вы справляетесь с неудачами?Можно ли перезапустить задание с момента сбоя?
  • Связность:появляется новый источник данных - скажем, Salesforce - сколько времени вам нужно, чтобы усовершенствовать скрипт для чтения / записи в него?
  • Можете ли вы подключиться к ERP-системам, таким как SAP?
  • Можете ли вы извлечь информацию о происхождении данных и анализе воздействия из сценариев?

Все это - и даже больше - вы получаете, когда используете какое-нибудь программное обеспечение descent ETL.Кто-то упорно трудился в течение многих лет, чтобы справиться со всеми этими проблемами и получить для этого какой-нибудь графический интерфейс.Вот в чем разница.

Сейчас:если вам нужно что-то для загрузки одного файла в базу данных время от времени - подойдет все, что угодно.Но если вы планируете использовать их в большом количестве, стоит рассмотреть программное обеспечение ETL.И если Informatica уже существует в вашей компании, то зачем мучиться и заново изобретать велосипед?

Инструменты ETL, такие как Informatica, повышают производительность (и красивые картинки), если у вас есть люди, которые не могут кодировать. Это имеет смысл, если никто не может поддерживать код. Для тех, кто умеет кодировать, это все равно, что нанять 500-фунтовую гориллу, чтобы переместить кротовину.

См. также: этот пост и этот пост в эта тема

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top