Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Знает ли кто-нибудь о реальных хранилищах построенных с использованием этого инструмента и его встроенных средств? устал бороться - шаг в право, шаг влево, надо писать table function, фактически реализующую весь алгоритм, да и по быстродействию получающегося кода не ахти как хорошо. Может я чего-тоне так делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 11:08 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Хм. Я бы так резко не сказал. А что именно Вы подразумеваете под "шаг влево"? Быстродействие с табличными функциями действительно будет под вопросом. Можете дать конкретный пример задачи, которую не удается "нарисовать"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 12:36 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
http://www.oracle.com/technology/products/warehouse/htdocs/OTN_CustRef.html Есть те, кто работает с OWB. Да и у нас в стране тоже таких много. Конечно, бывают сложные случаи, но тут уж OWB не причем, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:15 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
ну скажем заполнение ID уровней иерархии выше терминального, да просто заполнение факторной таблицы, вроде ничего сложного, но функция написанная для этого руками быстрее на 2 ПОРЯДКА, на тех же таблицах и индексах, просто я делал через коллекции, а OWB через запросы. Просто и быстро накидываются только измерения с 1-2 уровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:26 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
2Birkhoff посмотрел по ссылке взял первого GlaxoSmithKline using the ETL tool (Oracle Warehouse Builder), are transferred from the operational system to a staging environment of the DWH (Oracle database). и все как всегда реклама флэт файлы лоадятся в таблички просто замечательно, с кодировками надо сначала поковырять, а так все очень удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:33 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Sintetikну скажем заполнение ID уровней иерархии выше терминального, да просто заполнение факторной таблицы, вроде ничего сложного, но функция написанная для этого руками быстрее на 2 ПОРЯДКА, на тех же таблицах и индексах, просто я делал через коллекции, а OWB через запросы. Просто и быстро накидываются только измерения с 1-2 уровня. Это проблема всех case средств - функция написанная руками чаще всего и будет быстрее, чем сгенеренная в каком то case средстве. Нигде и не написано что OWB гарантированно генерирует самый быстрый код из возможных :) Как и у любого case-а у него задача не только в том чтобы сгенерить код, но и в том, чтобы потом развивать и документировать хранилище. Посмотрите, что в том коде, что нагенерил OWB - там собственно перегрузка занимает даже не 10 процентов. Если вы напишите свою сложную функцию, то другому в ней будет разбираться гораздо сложнее, чем в меппингах OWB. А если таких функций 100? Кстати говоря я видел пример когда код, сгенеренный OWB работал гораздо быстрее, чем тоже самое, написанное руками за счет того что код OWB использовал распараллеливание по процессорам Oracle, а своя процедура нет. Посмотрите если не смотрели, там можно настройку генерящегося кода делать. Может быть это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 14:56 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Sintetik2Birkhoff посмотрел по ссылке взял первого GlaxoSmithKline using the ETL tool (Oracle Warehouse Builder), are transferred from the operational system to a staging environment of the DWH (Oracle database). и все как всегда реклама флэт файлы лоадятся в таблички просто замечательно, с кодировками надо сначала поковырять, а так все очень удобно. Из-за того, что там не раскрыто что делает OWB следует, что он там ничего не делает? :) Ну вот тут больше написано http://www.oracle.com/customers/profiles/PROFILE7936.HTML Кстати насчет GSK, я как-то общался dba GSK из Англии, он рассказал что у них там совсем не маленькое хранилище (по моему на 32 процессорном серваке крутится) И использовался тоже OWB. Хотя я думаю, что это другой проект, не тот, который там описан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 15:02 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Birkhoff Это проблема всех case средств - функция написанная руками чаще всего и будет быстрее, чем сгенеренная в каком то case средстве. Нигде и не написано что OWB гарантированно генерирует самый быстрый код из возможных :) Согласен, но не в 200 же раз (реально получилось), примитивный маппинг куба на 3 измерения: distinct из source_table+фильтр на диапазон дат+3 KeyLookup по измерениям+aggregate, все, там даже негде напортачить особо, 1000 фактов обрабатывает минуту, т.е. миллион будет 16 часов обрабатывать, да меня заказчик растерзает за такое, и ему наплевать будет что такой маппинг за 5 минут набрасывается. Вот я и хочу понять, это продукт для "начинающих" или профи его тоже пользуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 16:41 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Sintetikну скажем заполнение ID уровней иерархии выше терминального, Хм. Обычно не вставала такая задача - в исходных данных всегда есть ключ, который можно для этого использовать. Пару раз я делал в два этапа - сначала заполнение промежуточной таблицы (вида "естественный ключ", "id"), а потом key lookup для вытаскивания id в уровень иерархии. да просто заполнение факторной таблицы, вроде ничего сложного, но функция написанная для этого руками быстрее на 2 ПОРЯДКА, на тех же таблицах и индексах, просто я делал через коллекции, а OWB через запросы. Хм. Тут присоединюсь к Birkhoff - тема большая, сложная, и наилучшая оптимизация получится таки руками - но большую часть можно нарисовать и получить при этом хороший результат. Как минимум - не хуже, чем при относительно быстром создании той же подпрограммы руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 16:45 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
SintetikСогласен, но не в 200 же раз (реально получилось), примитивный маппинг куба на 3 измерения: distinct из source_table+фильтр на диапазон дат+3 KeyLookup по измерениям+aggregate, все, там даже негде напортачить особо, 1000 фактов обрабатывает минуту, т.е. миллион будет 16 часов обрабатывать, да меня заказчик растерзает за такое, и ему наплевать будет что такой маппинг за 5 минут набрасывается. Надо разбираться. А конкретнее пример нельзя привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:02 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
это для OFA, ключ то должен быть уникальным не в пределах левела, а в пределах измерения, вариант с промежуточной таблицей я пробовал, все равно тормозит, может это особенность моего источника данных, там все ID это varchar2(50), поэтому ассоциативные массивы с индексом по varchar2 дают такую разницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:04 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
SintetikСогласен, но не в 200 же раз (реально получилось), примитивный маппинг куба на 3 измерения: distinct из source_table+фильтр на диапазон дат+3 KeyLookup по измерениям+aggregate, все, там даже негде напортачить особо, 1000 фактов обрабатывает минуту, Хм. Для такого маппинга он должен выполнять единственный merge или insert/select. Если этот единственный оператор выполняется со скоростью 1000 записей в минуту - тут что-то неладно в консерватории, в смысле на сервере. Мало того, если это удается ускорить процедурой - что-то очень неладно. Хотелось бы увидеть то, что генерит OWB (естественно, не весь мэппинг, а тот самый ключевой оператор), трассировку сессии выполнения мэппинга и процедуру, которая в 200 раз быстрее. Лучше, наверное, в виде файла, а не постингом в форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 19:18 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Sintetikтам все ID это varchar2(50), поэтому ассоциативные массивы с индексом по varchar2 дают такую разницу. Может быть, конечно - хотя странно; как минимум hash join вряд ли уступит в эффективности ассоциативным массивам. Ну так никто не мешает написать трансформацию, которая именно это и будет делать, использовать ее вместо key lookup, а все остальное рисовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 19:21 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
ну да, там немного самому написать, потом здесь еще немного и оказывается, что проще все самому а с трассировками потом покопаюсь, после сдачи проекта :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 22:07 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
Sintetikну да, там немного самому написать, потом здесь еще немного и оказывается, что проще все самому а с трассировками потом покопаюсь, после сдачи проекта :-) Мне кажется, что case вам не нужен. По крайней мере, вы можете прожить и без него. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 13:09 |
|
||
|
Oracle Warehouse Builder
|
|||
|---|---|---|---|
|
#18+
2softwarer Попробовал заменить Lookup своей функцией - все залетало, спасибо, а то я уж совсем было на пэйплайны съехал. BirkhoffМне кажется, что case вам не нужен. По крайней мере, вы можете прожить и без него. :) Мы то можем :-) , но заказчик так захотел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 20:36 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32884540&tid=1871853]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 265ms |
| total: | 450ms |

| 0 / 0 |
