Oracle Datawarehouse Builder: Кто нить работал с ним?

0000

Надо в течении трех-четрырех вечеров раскурить его возможности по построению ETL процессов (и попробовать сравнить с Informatica).
Можете что нить посоветовать, кроме как покурить маны к нему?
К сожалению, глазками на него посмотреть нет возможности :( (канал дома узкий, скачать просто не успею)

Marikun

Проходил по этому инструменту тренинг, но на практике не использовал. По тренингу ощущение, что инструмент отстойный, просто по классу на порядок ниже чем Informatica, DataStage, ODI. У Оракла очень интересный инструмент Oracle Data Integrator - если есть возможность, рекомендую смотреть в его сторону.

0000

Да я просто на собеседование сходил. Там на ODW сделано, но они могут и на Informatica перейти, тока надо промотивировать что ли...
Правда, я в раздумьях стоит ли связываться с этой конторой, просто позицию ведущего разраба предлагают, но такое чувство что откат за систему получен и как она будет дальше расти всем пофиг.
Билдер похоже система начального уровня для ETL, т.к. ее бесплатно раздают (так мне чел сказал на собеседовании).
P.S. Контора Группа компаний Старт - www.gk-start.ru
P.P.S. Informatica знаю неплохо.

0000

Кому интересно могут скачать посмотреть demo ролик по использованию OWB на английском ~17мб
http://ioug.itconvergence.com/pls/htmldb/DWBISIG.download_my...
Это почти что мне надо было :)

vovaV09

Точнее не бесплатно, а входит в состав последних версий БД oracle.
У них какой версии OWB и база?

0000

Да я уже понял, что бесплатно она идет только в определенных сборках Oracle.
10-ка у них вроде и Oracle и Bulder.
А ты работал с Билдером? Можешь его сильные стороны указать? А то мало что с документации понятно, где он рулит.
Вот это наверно с утра отправлю уже.
В целом, продукты очень схожи. Оба имеют следующие возможности:
• Работа с гетерогенными источниками/таргетами данных.
• Разбиение уровня разработки на два (карты и потоки).
• Возможность повторного использования.
• Возможность параметризовать запуск потока, как на уровне карт, так и на уровне потока.
• Управление потоком при выполнении.
• Использования репозитария для хранения метаданных.
• Есть debugger.
Различия
• Основное: Informatica не генерирует SQL, PL/SQL код, т.к. полностью абстрагирована от БД.
SQL может использоваться для организации источника данных (т.е. не требуется создавать
представление). Процедуры и функции могут быть вызваны в картах Informatica, как одна из
трансформации.
• Informatica не является частью Oracle, т.е. ей необходимо извлекать данные на свой сервер.
Иногда процесс извлечения данных может занимать время большее, чем время на трансформацию.
С другой стороны, разгружается сервер БД.
• Informatica работает в режиме Row Based, т.е. преобразования можно рассматривать на уровне строки.
Поскольку она спроектирована так изначально, то это не сказывается на ее производительности.
Более того, в случае сложных трансформаций Informatica позволяет быстрее провести расчеты, чем скрипты
на PL/SQL написанные в ручную.
• В Informatica имеется возможность повторного использования результатов запросов в качестве loopkup
таблиц, в том числе и между потоками и даже серверами (за счет храниния как файл, при необходимости).
Так же результат запроса можно изменять в течении выполнения карты.
• В Informatica в одной карте возможно не только выполнять insert/update (т.е. merge) операции, но и delete.
• Informatica имеет визуальное средство контроля за запущенными задачами и свой планировщик.
• Informatica ведет журнал по всем запускам задач, а так же предоставляет статистику по скорости загрузки/выгрузки данных.
• При необходимости производительность Informatica можно увеличить, добавив дочерние сервера.
• Infornatica используется свои драйвера для доступа к данным
• Репозитарий Informatica имеет систему контроля версий.

6yrop

Поскольку она спроектирована так изначально, то это не сказывается на ее производительности.
я не совсем в теме, но фраза странная сама по себе :smirk:

mbolik1

OWB продукт сильно заточенный под БД Oracle, и рулит он когда и источник и приемник — Oracle. В этом случае по скорости работы, скорее всего, равных ему не будет, т.к. OWB будет задействовать весь имеющийся функционал базы. Ещё он хорошо работает когда приёмник — Oracle, а источник — промышленная СУБД. А вот если источник такой что БД Oracle с ним работать не умеет (например Excel-файлы то начинаются пляски с бубнами, т.к. решение предлагается всего одно: настроить ODBC и работать уже с ним.
Вот несколько замечаний по тексту.
• Работа с гетерогенными источниками/таргетами данных.
OWB работает только с теми источниками с какими работает сама база данных.
...Процедуры и функции могут быть вызваны в картах Informatica, как одна из
трансформации.

В OWB можно использовать в качестве трансформации собственную PL/SQL процедуру или функцию, в которую можно завернуть java-класс, или вообще внешний вызов.
• Informatica работает в режиме Row Based, т.е. преобразования можно рассматривать на уровне строки.
Поскольку она спроектирована так изначально, то это не сказывается на ее производительности.
Более того, в случае сложных трансформаций Informatica позволяет быстрее провести расчеты, чем скрипты
на PL/SQL написанные в ручную.
У OWB есть два режима — Row Based и Set Based. Какой конкретно режим применять для данной трансформации выбирается разработчиком (с учетом существующих ограничений). Row Based режим в 10-ке работает достаточно прилично за счет Bulk операций.
Причем тут ручной PL/SQL код не совсем понятно.
• В Informatica имеется возможность повторного использования результатов запросов в качестве loopkup
таблиц, в том числе и между потоками и даже серверами (за счет храниния как файл, при необходимости)...

Это, наверно, удобно, но легко заменимо с помощью временных таблиц.
При необходимости производительность Informatica можно увеличить, добавив дочерние сервера.

При необходимости производительность OWB можно увеличить добавив процессоры. Если таблицы источника
и приемника будут оптимизированы для параллельной работы то выигрыш будет заметен даже в Set Based режиме.
Infornatica используется свои драйвера для доступа к данным

А Oracle свои, которые при необходимости могут быть расширены за счет продуктов Oracle Transparent Gateway. Не то чтобы очень дешёвых, зато хорошо оптимизированных для обмена данными с БД Oracle.
P.s. OWB имеет встроенные методы контроля и очистки данных. Правда хреновые.

0000

Спасибо большое за ответ :) Теперь я хоть знаю, как выглядит то, что я написал, в глазах человека не знакомого с Informatica (ценно!). OWB, увы, в живую я так и не видел, потому и сравнение по большому счету некорректное. В течении дня попробую исправленную версию сравнения выложить.
Кстати не подскажешь, как работает OWB между трансформациями, т.е. верно ли я понимаю, что если имеется трансформация с другими входящими, то OWB сгенерит скрипт на insert во временную таблицу (соответсвующую портам трансформации) с селектом из других? Типы RowBased и SetBased как раз определяют как будет заливка в нее идти.
Большая часть про PL/SQL написана к тому, что Informatica так же как и OWB может использовать его. Забыл сказать, что она может так же использовать процедуры и других серверов (что правда не особо и надо, т.к. это копец как медленно).
По поводу ручного кода на PL/SQL: это я написал к тому, что Informatica позволяет разрабатывать такие карты, которые отрабатывают быстрее скриптов Oracle (за счет другого порядка обработки данных а следовательно будет быстрее автоматически генеренных. Наверно сомнительный факт, без дополнительной проверки (тут моя вера в Informatica сказалась)... надо будет убрать.
2
Да и в самом деле дурацкая. Дело в том, что в Informatica нет различных режимов (Row/Set) обработки - это я и пытался сказать. Для разработчика OWB это наверняка минусом покажется, поэтому я уточнил, что потери производительности нет.
P.S. Средств контроля и очистки в Informatica нет - при желании самому можно налабать нужные трансформации на С++.

0000

Вот поправил текстик. Вечером, как домой приду отправлю.
Блин, продукты похожи как братья близнецы, тока почему то Informatica стоит много :grin:
В целом, продукты очень схожи. Оба имеют следующие возможности:
• Работа с гетерогенными источниками/таргетами данных, в т.ч. XML
• Разбиение уровня разработки на два (карты и потоки).
• Возможность использования PL/SQL кода в трансформации.
• Возможность повторного использования.
• Возможность параметризовать запуск потока, как на уровне карт, так и на уровне потока.
• Управление потоком при выполнении.
• Использования репозитария для хранения метаданных.
• Используют свои драйвера для доступа к данным (имеют драйвер для доступа по ODBC).
• Есть debugger.
Различия
• Основное: Informatica не является частью БД, однако позволяет использовать возможности,
, такие как вызов процедур/функций и выполнение DDL/DML операций, любой БД, включенной в
процесс трансформации.
Располагаясь на отдельном сервере, требует загрузки/выгрузки данных на/с него.
Возможно переносить часть ETL-процесса на источник.
• Список ETL-трансформаций может быть расширен трансформациями, написанными на PL/SQL, Java
или C++.
• Informatica имеет визуальное средство контроля выполняемых задач и свой планировщик.
• Informatica ведет журнал по всем запускам задач, а так же предоставляет статистику по
скорости загрузки/выгрузки данных.
• В Informatica имеется возможность повторного использования результатов запросов в качестве
loopkup таблиц, в том числе между потоками и даже серверами (за счет храниния в виде файла,
при необходимости). Так же результат такого запроса можно изменять в течении выполнения карты.
• Informatica может выполнять не только insert/update (т.е. merge) операции для таргета, но и
delete. Поведение может настраваться как на уровне карты, так и на уровне потока.
• При необходимости производительность Informatica можно увеличить, добавив дочерние сервера.
• Репозитарий Informatica имеет систему контроля версий.

77vlad

Средств контроля и очистки в Informatica нет

В Infa PC есть урезанная функциональность по контролю и очистке. Зато есть отдельный продукт для этих целей продукт Infa Data Quality (+ несколько денежек)
Забыл сказать, что она может так же использовать процедуры и других серверов (что правда не особо и надо, т.к. это копец как медленно).

Скорее, в Инфе есть возможность выбора стороны, на которой будет отрабатывать часть ETL (ручной оверрайт в source-qualifier, например в зависимости от приоритетности скорости выборки\нагрузки на сервер. Все таки боевые сервера будут помощнее ETL-серверов, а регламент выгрузки подбирается во время минимума нагрузки на источник (+ агрегация средствами оракл шла быстрее агрегации инфой)

77vlad

Informatica ведет журнал по всем запускам задач, а так же предоставляет статистику по скорости загрузки/выгрузки данных.

а еще в ней есть готовые отчеты (вьюхи) в репозитории по работе информатики.
ну, еще можно вспомнить про уровни доступа к объектам (хотя в OWB наверняка тоже есть) — read\write.
loopkup таблиц

придираясь к словам — все таки не таблицы, просто кэш, отсортированный и проиндексированный (физически таблица не создается).
из плюсов можно также вспомнить про CDC средствами инфы (которая работает не только с оракл); поддержка bulk-load из/в разные СУБД; иерархические данные; поддержка партиций в источниках / dwh; автоматическjt распараллеливание работ

0000

А че в оффе то?
> В Infa PC есть урезанная функциональность по контролю и очистке
Где? Хотя бы по каким словам в Хелпе смотреть? (или имелось в виду количество отброшенных строк в сессии?).
> Infa Data Quality
Псиб, буду знать.
Кстати, а можно где нибудь прайс по продуктам глянуть? (знаю, что стоит много, а скока - даже порядок, не в курсе :()
С последним абзацем не совсем согласен. Вызов процедур никак не соотносится со стороной проведения ETL-процесса.
Вызов процедуры может быть полезен, если функция проверки данных находится на другом сервере и ее код не подлежит переносу в ХД.

0000

О, вот это более полезно :)
Про лукапы - писалось так, чтобы OWD чел мог понять, что есть сходное средство (в OWB лукап много проще вроде) :)
А что за CDC средства?
> поддержка bulk-load
Bulk-load лучше не вспоминать... работает очень хреново :(
> иерархические данные
Что это?
>поддержка партиций в источниках / dwh
Эмм, это разве не сама СУБД делает?
> автоматическjt распараллеливание
Не видел. В семерке параллели нужно было расставлять самому, в восьмерке - модуль не куплен.
Или имелось в виду распараллеливание по серверам?

77vlad

А теперь по минусам:
но они могут и на Informatica перейти, тока надо промотивировать что ли.

Стоимость лицензий инфы совсем не маленькая — будет ли выгода в случае небольшого dwh и источников\приемников только оракл?
Стоимость разработчиков Infa — их мало и они жадные :)
Стоимость админов Infa — товар вообще штучный, потребуется админ оракл (так как репозитарий будет на нем который сможет настрить инфу (или наоборот). Все таки это не ETL-админ, который за загрузками следит, а профи, настраивающий производительность.
зы и еще одно, что меня убивает — отсутствие коннекторов к ms (excel, access в принципе, к sql server с большими плясками с бубном). а если некоторая информация будет поступать из ручных файлов эксель (какие нибудь сводные отчеты) или 1с (на сиквел-сервере)?

0000

Вообщем там планируется "коробочный" продукт по регионам (т.е. по хранилищу на каждую область по ЖКХ).
> Стоимость разработчиков Infa — их мало и они жадные
Блин, значит я еще балбес :( Я мало прошу - основное за что беру - это Oracle.
В AT Consulting вообще разрабы на Informatica за копье трудятся.
Про админчегов полностью согласен.
По коннектам: PowerCenter (наверно все таки стоит указывать продукт) имеет ODBC драйвер, в т.ч. и под Nix. Неужто под nix нет аналогов ODBC для Excel и прочего?

77vlad

А что за CDC средства?

changed data capture . в случае оракла — на основе логмайнера.
Bulk-load лучше не вспоминать... работает очень хреново

ну я бы не стал так утверждать :) (зависит в том числе и от настроек серверов оракл и инфы + в случае балк инсерта нужно индексы отключать)
иерархические данные

ну, например XML не требует развертывания в плоскую структура, а поддерживаются прямо.
>поддержка партиций в источниках / dwh
Эмм, это разве не сама СУБД делает?
> автоматическjt распараллеливание
Не видел. В семерке параллели нужно было расставлять самому, в восьмерке - модуль не куплен.
Или имелось в виду распараллеливание по серверам?

читать так: поддержка партиций в источниках / dwh --> автоматическое распараллеливание.
то есть, при обработке ядром ETL на стороне Infa идет автоматическое распараллеливание. (Parallel option)
Да, все вкусности не факт, что идут с базовой поставкой инфы, многое может оказаться необходимым докупать отдельно...

0000

Большое спасибо, посыпаю голову пеплом и думаю, что надо почитать :)
Если не секрет - ты где работаешь и не админом Инфы случаем?
Bulk иногда может давать очень странные результаты: пытался лить в небольшую таблицу без индексов - в итоге строки залились с непечатными символами в конце :confused: Правда здесь, Oracle и Informatica практически не админятся.

77vlad

По коннектам: PowerCenter (наверно все таки стоит указывать продукт) имеет ODBC драйвер, в т.ч. и под Nix. Неужто под nix нет аналогов ODBC для Excel и прочего?

Будешь смеяться, номинально он есть, но не работает! Где то даже был официальный ответ от data integration (главные по инфе в россии где они сказали, что у odbc проблемы, как раз на nix платформе.

0000

Я видел пару ответов от Data Integration. Оба были отписками :mad:
По этому поводу в базу знаний Informatica надо лезть и смотреть, но мне пароль начальнег не дает.
Кстати вроде недавно патчик вышел, так что вполне возможно все уже ок (надо фьючерсы посмотреть).

77vlad

Вообщем там планируется "коробочный" продукт по регионам (т.е. по хранилищу на каждую область по ЖКХ).

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

0000

Ну это да. Тока вот серьезностей намерений фирмы я не до конца понял, т.к. разработка на Информатика - это же другие деньги, нежели OWB.

77vlad

А че в оффе то?

да что то тормоза сработали :)
Где? Хотя бы по каким словам в Хелпе смотреть?

Data Cleanse and Match Option — очередная вкусность.
С последним абзацем не совсем согласен. Вызов процедур никак не соотносится со стороной проведения ETL-процесса.

имелись в виду жестко захинтованные селекты в sq , которые выполняются на стороне источника. Если процедура расположена на источнике — то и выполняется она на источнике, в противоположность, например, агрегации средствами инфы, которая производится на стороне etl-сервера

0000

> Data Cleanse and Match Option
Уп-с, про набор функций Data Cleansing, я то и забыл (кроме Is_Number ничего не надобилось).
Еще нашел Data Profiling (быстрой раскурке в пятницу вечером не подлежит).
:)
P.S. Или я что то не то нашел?

77vlad

нашел то
data profiling все таки не совсем качество данных, но попытаться применить можно.

0000

Аааа, я тупой. Я не понял, кто ты :lol: :lol: :lol:
Оставить комментарий
Имя или ник:
Комментарий: