Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Начал вот разбиратся с оракловым олапом (точнее с его кубами, до этого работал в Cache с ними). И сразу загвоздка. Если не сложно не мог бы кто-нибудь объяснить мне как сделать такую вещь: есть офисы, у них есть склады. - это одно измерение (dimension ??) есть номенклатура товара(там иерархия через "ухо") - второе измерение. значение(mesure ??) конечно остатки. Пока давайте без времени. непонятно все - как создать измерение в оракле, что за levels там такие. я пробовал создавать куб - пока ругается could not map cube to the table или you should map cube to the table. короче что-то про map. Нашел переписку где говорили как создать репозиторий - oeminstl.sql запустил его, некоторые пакеты собрались с ошибками там же было написано что это нормально только надо еще один скрипт запустить. Какой скрипт кстати надо ? на металинк попасть не могу.. если кто объяснит как на нем зарегистрироватся без покупки оракла (а мне сначала надо понять зачем он мне нужен) тоже буду благодарен... Так вот остатки вычисляются очень хитро (по документам, коих целая куча самых разных типов и лежат они все в нескольких таблицах, позволяющих хранить любые документы, сори если невнятно но типа есть таблица документы и к ней прикручиваются реквизиты шапки, табличные части и т.д.) так вот, на аппсервере живут объекты документы которые конечно знают как изменить остатки. Т.е. хотелось бы создать "просто куб" который можно было бы упдейтить по измерениям (в Cache так и пишешь update cube_name set quantity=NNN where goods_id=?? and warehouse_id=?? ну примрно конечно но суть такая) в Оракле же все как-то автоматически должно быть вроде, надо только БД подогнать. Как ее подогнать непонятно... да и подгонять нехочется - зачем мне это если у меня бизнеслогика знает что делать ? Вот такие пироги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2003, 15:32 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
22/10/03 Компания "Интерфейс" проведет семинар по теме кубов... в МСК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2003, 17:16 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
хм... это конечно круто.. только через месяц это слишком долго. да и потом мне надо просто понять как это делается что бы понять надо оно мне или нет :) Но за совет всеравно спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2003, 17:37 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Александр, Оракловый OLAP - это сложный и не самый дружественный инструмент. За месяц Вы все равно сами не разберетесь, так что записывайтесь на семинар :) да и потом мне надо просто понять как это делается что бы понять надо оно мне или нет Оно - это именно оракловский OLAP, или просто технология OLAP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2003, 17:40 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Оно - это именно оракловый OLAP... А насчет курсов то через месяц мне нужно уже иметь готовое решение :) Но я подумаю, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2003, 19:13 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
В принципе я уже разобрался какие кнопки нажимать :) Осталось разобраться почему вываливается CubeViewer ... т.е. запускается и потом говорит что метаданные не найдены. Это из=за того что пактеы некоторые не собрались или я забыл какую-то супер кнопку нажать ? Напомню что OLAP в OEM есть.. (как иначе бы я куб создал ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2003, 19:16 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Конкретная ошибка BIB-10701 ничего конкретного по ней я не нашел.. где чего покрутить чтобы он смог к метаданным законнектится ? пробовал зайти и под sys и под olapsys.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 10:11 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Если нужно что-нибудь работающее на Oracle OLAP сделать за месяц - делайте на Экспресс, реляционный олап у них еще очень сырой, глюков полно, трудно прогнозировать скорость разработки. Скорее всего у вас не все патчи или неправильно создан BI Catalog ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 10:53 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Что за версия Oracle у вас стоит, с каким именно Oracle OLAP вы пытаетесь работать? Их как минимум два :)\r \r Советую почитать этот тред:\r /topic/33877\r Там разюирались многие вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 11:20 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Насчет работы Cube Viewer.\r \r /topic/48143 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 11:27 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
За ссылки спасибо. У меня Oracle 9iR2 OLAP, Sparse включено. патчей не прикладывал. ссылочки поситал но похоже там народ наткнулся на другие грабли или их грабли появляются после моих граблей :) ссылки короче не помогли пока.. чудесато однако сделан OLAP в оракле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 10:34 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Александр Уже более 2х месяцев путаюсь реализовать OLAP систему на ORACLE и пока результат весьма не утешительный. С помощью EM построить кубик не удалось, вьюхи измерений и куба постоянно строятся с различными ошибками (даже уже не помню - сколько их было). Решил пойти экстенсивным путем, - построить звезду. Сделал, но запросы выполняются медленно, 2 – 3 минуты для меня не приемлемо. Замечу – у меня в центральной таблице около 1,5 миллиона записей. Плюс 5 измерений, не считая времени, 2 измерения 4х уровневые. После чего решил воспользоваться функцией group by cube … (построение на ее основе мат. вью). С двумя измерениями все прекрасно, запросы работают быстро, НО как только я добавил все измерения, мало того - что у меня пустая вью почему то час создавалась. Так еще и места на винте не хватило, для ее реализации – заполнения данными. Хотя этого и следовало ожидать. Так что мое отношение к оракловому олапу скорее пока негативное. Может быть это обусловлено некоторой моей некомпетентностью, в оракле я новичок. Но дело в том, что ради теста я попробовал сделать тоже самое на MS AS – результат откровенно порадовал, куб с 30% агрегацией построился почти без проблем менее чем за 20 минут (возникли некоторые сложности из за дублирования записей которые быстро удалось решить). Ну и скорость выполнения запросов почти моментальная 2-3 секунды максимум. Если у кого есть реальный опыт построения кубов на 9 ки с помощью Enterprise Manager – поделитесь пожалуйста опытом, насколько это возможно. Дело в том что мне нужно решить задачу обращения к кубу из Delphi, а следовательно использование Java не желательно, а желателен SQL. У меня есть подобные уже реализованные проекты на MS Analisys Server (MS AS -> ADO MD или MDX -> Delphi), неужели невозможно решить данную задачу на Oracle 9i ?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 17:07 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
to Sergey P. Не очень понял, зачем для самописного дельфового клиента создавать кубы с помощью ЕМ, ведь он создает метаданные в специальном понятном OLAP API виде, структура OLAP каталога оптимизирована для запросов через OLAP API, под свой SQL-клиент проще придумать свою структуру или обращаться из клиента к обьектам OLAP API. Что касается ораклового реляционного олапа, восторгов по его поводу я что-то нигде еще не видел. Ошибок в генерируемых скриптах полно, много исправлений приходится делать вручную, правда, достаточно однотипных. Запросы правда идут достаточно быстро, те же секунды (через OLAP API естественно). Механизм MV вообще ублюдочный, заставить их обновляться в режиме FAST (добавление) в практически важных случаях очень трудно, поэтому по расходу места на винте расклад в среднем такой: если исходная таблица фактов 1Гб (измерений пять да две иерархии), MV тянут на ~ 20Гб плюс столько же надо выделять в TEMPORARY TABLESPACE (это при полном аггрегировании, если кто подскажет как правильно сделать частичное буду благодарен). Парадокс, но в Express получается компактнее. В общем, на мой взгляд, для серьезных проектов это изделие еще не годится, хотя перспективы пожалуй большие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2003, 20:40 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
ООО!!! Вот это ответ. у меня подобная же хрень ( все несколько хуже, записей побольше, измерений столько же, для некоторых побольше предполагалось) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2003, 10:02 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
to Александр Олаф На самом деле чуть меньше 1Г это данные за 2 месяца. В Экспрессе эта база за 21 месяц занимает 24Г и при подкачке не создает больше 4Г временных файлов. Эсли столько закачиваь в MV пару винчестеров придется пустить только под TEMPORARY TABLESPACE.. Забавно, но Оракл в документации рекомендует использовать релатионал олап как раз для больших баз, т.к. данные в реляционных таблицах лежат "плотно" и жертвовать при этом временем запроса. На практике все наоборот- запросы из Экспресс выполняются даже немного медленнее, т.к. приходится частично использовать аггрегирование "на лету" (чтобы уменьшить время подготовки данных), зато несмотря на рыхлость и издержки на хранение композитов база получается компактнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2003, 11:02 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
To Bill_ Не очень понял, зачем для самописного дельфового клиента создавать кубы с помощью ЕМ, ведь он создает метаданные в специальном понятном OLAP API виде, структура OLAP каталога оптимизирована для запросов через OLAP API Может быть я не понял, но какая разница как строить куб, я строю куб с помощью адвизарда в Enterprise Manager, после чего я его и заполняю данными. В действительности, какя разница как к эти данным потом обращаться, обидно что куб то средствами адвизарда построить не удалось. Что касается материализованных вьюх – согласен, решение не лучшее - хранить огромную таблицу со всеми агрегатами. Но что делать. Вот кстати код реализации материализованной вью. Все поля за исключением COST_PRICE, SALE_PRICE и QUANTITY – это измерения, я специально все измерения свел в одну таблицу. Так вот исходная таблица около 150 мБ. На основе нее материализованное вью построить не удалось из за нехватки места, правда места то было всего гигов 10. Может быть я что то не правильно делаю… Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2003, 13:21 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
to Sergey P. Вопрос в лоб. А нафига вообще строить MV? Понимаешь, ты агрегируешь по 14-измерениям, количество строк в таком виде будет равно х(1)*х(2)*..*х(14), где х(i)- это количество разчичных значений в i-ом измерении... Страшно подумать сколько это будет строк. Поэтому либо снизь количество измерений по которым ты агрегируешь (что-бы количество строк в mv было меньше количества строк в таблице фактов), либо вообще не создавай mv. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2003, 15:45 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Добавлю еще к реплике drive. Идея использования MV в том, чтобы ускорять часто встречающиеся запросы. Часто бывает что из пространства в 20 измерений чаще всего используются 3-4 или несколько комбинаций по 3-4. Вот по ним и нужно строить MV, тогда он (или она?) получится компактный и быстрый. Например так действет Oracle Discoverer - он анализирует часто встречающиеся запросы и по ним предлагает сделать несколько MV. Кстати еще полезно использовать dimensions для указания оптимизатору где у вас существуют иерархии. Он по этим dimensions ориентируется, причем даже в том случае если у вас нет кубов, а используются просто таблицы. Поэтому действительно непонятно зачем строить MV по 14 измерениям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2003, 15:56 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
to Sergey P. Мне кажется, я не очень понял в чем проблема. Может быть я не понял, но какая разница как строить куб, я строю куб с помощью адвизарда в Enterprise Manager, после чего я его и заполняю данными. В действительности, какя разница как к эти данным потом обращаться Когда вы строите куб у вас есть таблицы измерений и таблица фактов, при создании куба посредством ЕМ создаются метаданные, структура которых вам в принципе не известна, воспользоваться ее достоинствами невозможно, так чего же вы собственно строите? Хранить огромную таблицу накладно (лучше не пихать в один MV измерений, по которым переменная меняется заведомо независимо), но если очень нужно то лучше это делать канонически (или понятнее, типа через UNION). MV который вы предлагаете содержит много лишних данных, неудивительно что он получается огромным, ведь генерируются все промежуточные итоги для всех уровней, скажем для каждого дня суммируются месяцы(!), что совершенно избыточно. Summary Advisor сгенерировал бы в конце скрипта что-нибудь типа : Код: plaintext 1. или что нибудь подобное с GROUPING SET. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2003, 16:50 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
To Bill_ Спасибо большое за совет, функцию CUBE действительно в моем случае использовать неправильно. Видимо надо писать ряд ROLLUPов, ка это делает Advisord - буду эксперементировать :). У меня кстати, была возможность позвонить в ORACLE и проконсультироваться со спецами, так вот, мне порекомендовали для создания куба - руками написать вьюху, причем почему то адвизорд использовать не предложили. Насколько я понял, в оракле олапа подобного экспрессу больше не будет, теперь все будет на мат вью…(хотя может быть я и ошибаюсь). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 10:22 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, в оракле олапа подобного экспрессу больше не будет Analytic Workspaces в Oracle 9i это и есть бывший Express. Кстати вот вышел Analytic Workspace Manager в котором можно построить куб для AW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 11:17 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
MDB Express помещенный в Oracle думаю останется, но развиваться будет OLAP на базе CWM2. Мне эта технология не нравится из-за закрытости (метаданных и процедур). В скриптах, генерируемых EM хотя бы можно искать ошибки, глюки в CWM2 делают эту систему на данный момент неработоспособной и до Express'а ей еще далеко. Когда ее доведут до ума Express умрет, поскольку обработку MDB в отличие от реляционных данных трудно контролировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 11:18 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
На самом деле в 10g планируется довольно много нововведений касающихся AW, так что это навправление тоже будет развиваться. Обещают также что Oracle Discoverer сможет читать кубы AW. А уже что кому будет удобнее - тот то и будет пользовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 11:57 |
|
||
|
Оракловый OLAP
|
|||
|---|---|---|---|
|
#18+
MDB Express помещенный в Oracle думаю останется, но развиваться будет OLAP на базе CWM2 Как говорится, одно другому не мешает. :) CWM - это Common Warehouse Metamodel, т.е. некий стандарт метаданных (кстати написанный не Oracle, а Object Management Group (OMG)). Этот стандарт позволяет описывать данные различной природы и впоследствии работать с ними единообразно, т.е. при написании клиентского места программист даже не обязан знать где собственно находятся данные, то ли они в реляцонной базе, то ли в Express, ему до фени. Данные описываются по стандарту CWM (посредством пакетов CWM1 или CWM2), т.е. загружаются в OLAP Catalog, а далее вся работа проводится через OLAP Catalog. Поэтому развитие CWM2 подразумевает под собой развитие OLAP направление в целом, и Express (AW) ветки, в частности. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 13:54 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32277920&tid=1873102]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 417ms |

| 0 / 0 |
