Informatica PowerCenter или пользовательский Perl ETL работа? - PullRequest
3 голосов
/ 30 июля 2009

Большая часть моей компании использует powercenter informatica для задач перемещения данных типа Extract-Transform-Load между базами данных.

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

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

Ответы [ 5 ]

6 голосов
/ 06 августа 2009

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

4 голосов
/ 01 сентября 2009

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

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

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

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

3 голосов
/ 26 февраля 2010

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

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

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

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

1 голос
/ 16 сентября 2016

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

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

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

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

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

0 голосов
/ 30 июля 2009

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

См. Также: Это сообщение и это сообщение в это обсуждение

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

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