powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оракловый OLAP
25 сообщений из 25, страница 1 из 1
Оракловый OLAP
    #32277481
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал вот разбиратся с оракловым олапом (точнее с его кубами, до этого работал в 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=?? ну примрно конечно но суть такая) в Оракле же все как-то автоматически должно быть вроде, надо только БД подогнать. Как ее подогнать непонятно... да и подгонять нехочется - зачем мне это если у меня бизнеслогика знает что делать ?
Вот такие пироги.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277499
Фотография Sergey Lookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22/10/03 Компания "Интерфейс" проведет семинар по теме кубов... в МСК.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277503
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм... это конечно круто.. только через месяц это слишком долго.
да и потом мне надо просто понять как это делается что бы понять надо оно мне или нет :) Но за совет всеравно спасибо.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277652
Guest_321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр,

Оракловый OLAP - это сложный и не самый дружественный инструмент. За месяц Вы все равно сами не разберетесь, так что записывайтесь на семинар :)

да и потом мне надо просто понять как это делается что бы понять надо оно мне или нет

Оно - это именно оракловский OLAP, или просто технология OLAP?
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277664
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно - это именно оракловый OLAP...
А насчет курсов то через месяц мне нужно уже иметь готовое решение :)
Но я подумаю, спасибо.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277666
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе я уже разобрался какие кнопки нажимать :)
Осталось разобраться почему вываливается CubeViewer ... т.е. запускается и потом говорит что метаданные не найдены. Это из=за того что пактеы некоторые не собрались или я забыл какую-то супер кнопку нажать ?
Напомню что OLAP в OEM есть.. (как иначе бы я куб создал ?)
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277857
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретная ошибка BIB-10701 ничего конкретного по ней я не нашел..
где чего покрутить чтобы он смог к метаданным законнектится ?
пробовал зайти и под sys и под olapsys..
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277920
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если нужно что-нибудь работающее на Oracle OLAP сделать за месяц - делайте на Экспресс, реляционный олап у них еще очень сырой, глюков полно, трудно прогнозировать скорость разработки. Скорее всего у вас не все патчи или неправильно создан BI Catalog
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277969
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за версия Oracle у вас стоит, с каким именно Oracle OLAP вы пытаетесь работать? Их как минимум два :)\r
\r
Советую почитать этот тред:\r
/topic/33877\r
Там разюирались многие вопросы.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32277991
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет работы Cube Viewer.\r
\r
/topic/48143
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32279119
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За ссылки спасибо.
У меня Oracle 9iR2 OLAP, Sparse включено. патчей не прикладывал.
ссылочки поситал но похоже там народ наткнулся на другие грабли или их грабли появляются после моих граблей :) ссылки короче не помогли пока..
чудесато однако сделан OLAP в оракле
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32279816
Sergey P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр
Уже более 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 ?!
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32280070
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Sergey P.

Не очень понял, зачем для самописного дельфового клиента создавать кубы с помощью ЕМ, ведь он создает метаданные в специальном понятном OLAP API виде, структура OLAP каталога оптимизирована для запросов через OLAP API,
под свой SQL-клиент проще придумать свою структуру или обращаться из клиента к обьектам OLAP API.
Что касается ораклового реляционного олапа, восторгов по его поводу я что-то нигде еще не видел. Ошибок в генерируемых скриптах полно, много исправлений приходится делать вручную, правда, достаточно однотипных. Запросы правда идут достаточно быстро, те же секунды (через OLAP API естественно). Механизм MV вообще ублюдочный, заставить их обновляться в режиме FAST (добавление) в практически важных случаях очень трудно, поэтому по расходу места на винте расклад в среднем такой: если исходная таблица фактов 1Гб (измерений пять да две иерархии), MV тянут на ~ 20Гб плюс столько же надо выделять в TEMPORARY TABLESPACE (это при полном аггрегировании, если кто подскажет как правильно сделать частичное буду благодарен). Парадокс, но в Express получается компактнее. В общем, на мой взгляд, для серьезных проектов это изделие еще не годится, хотя перспективы пожалуй большие.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32280254
Александр Олаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ООО!!! Вот это ответ.
у меня подобная же хрень ( все несколько хуже, записей побольше, измерений столько же, для некоторых побольше предполагалось)
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32280351
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Александр Олаф

На самом деле чуть меньше 1Г это данные за 2 месяца. В Экспрессе эта база за 21 месяц занимает 24Г и при подкачке не создает больше 4Г временных файлов. Эсли столько закачиваь в MV пару винчестеров придется пустить только под TEMPORARY TABLESPACE..
Забавно, но Оракл в документации рекомендует использовать релатионал олап как раз для больших баз, т.к. данные в реляционных таблицах лежат "плотно" и жертвовать при этом временем запроса. На практике все наоборот- запросы из Экспресс выполняются даже немного медленнее, т.к. приходится частично использовать аггрегирование "на лету" (чтобы уменьшить время подготовки данных), зато несмотря на рыхлость и издержки на хранение композитов база получается компактнее.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32280653
Sergey P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
create  materialized view GESTORY.CHECKS_CUBE build deferred
refresh complete on demand
as
SELECT T_HOUR, T_DAY, T_WEEK, T_MONTH, T_YEAR, CASHIER_ID,
CASH_ID, SHOP_ID, ASSOCIATION_ID, DIVISION_ID,
GOOD_ID, SGROUP_ID, GGROUP_ID, DEPART_ID,
SUM(COST_PRICE) COST_PRICE,
SUM(SALE_PRICE) SALE_PRICE,
SUM(QUANTITY) QUANTITY,
GROUPING(T_HOUR) G_T_HOUR,
GROUPING(T_DAY) G_T_DAY,
GROUPING(T_WEEK) G_T_WEEK,
GROUPING(T_MONTH) G_T_MONTH,
GROUPING(T_YEAR) G_T_YEAR,
GROUPING(CASHIER_ID) G_CASHIER_ID,
GROUPING(CASH_ID) G_CASH_ID,
GROUPING(SHOP_ID) G_SHOP_ID,
GROUPING(ASSOCIATION_ID) G_ASSOCIATION_ID,
GROUPING(DIVISION_ID) G_DIVISION_ID,
GROUPING(GOOD_ID) G_GOOD_ID,
GROUPING(SGROUP_ID) G_SGROUP_ID,
GROUPING(GGROUP_ID) G_GGROUP_ID,
GROUPING(DEPART_ID) G_DEPART_ID
FROM CHECKS
GROUP BY CUBE(T_HOUR, T_DAY, T_WEEK, T_MONTH, T_YEAR,
CASHIER_ID,
CASH_ID, SHOP_ID, ASSOCIATION_ID, DIVISION_ID,
GOOD_ID, SGROUP_ID, GGROUP_ID, DEPART_ID);
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32280925
drive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Sergey P.

Вопрос в лоб. А нафига вообще строить MV? Понимаешь, ты агрегируешь по 14-измерениям, количество строк в таком виде будет равно х(1)*х(2)*..*х(14), где х(i)- это количество разчичных значений в i-ом измерении... Страшно подумать сколько это будет строк. Поэтому либо снизь количество измерений по которым ты агрегируешь (что-бы количество строк в mv было меньше количества строк в таблице фактов), либо вообще не создавай mv.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32280946
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю еще к реплике drive.

Идея использования MV в том, чтобы ускорять часто встречающиеся запросы.
Часто бывает что из пространства в 20 измерений чаще всего используются 3-4 или несколько комбинаций по 3-4. Вот по ним и нужно строить MV, тогда он (или она?) получится компактный и быстрый.
Например так действет Oracle Discoverer - он анализирует часто встречающиеся запросы и по ним предлагает сделать несколько MV.

Кстати еще полезно использовать dimensions для указания оптимизатору где у вас существуют иерархии. Он по этим dimensions ориентируется, причем даже в том случае если у вас нет кубов, а используются просто таблицы.

Поэтому действительно непонятно зачем строить MV по 14 измерениям.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281050
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Sergey P.

Мне кажется, я не очень понял в чем проблема.

Может быть я не понял, но какая разница как строить куб, я строю куб с помощью адвизарда в Enterprise Manager, после чего я его и заполняю данными. В действительности, какя разница как к эти данным потом обращаться

Когда вы строите куб у вас есть таблицы измерений и таблица фактов, при создании куба посредством ЕМ создаются метаданные, структура которых вам в принципе не известна, воспользоваться ее достоинствами невозможно, так чего же вы собственно строите?

Хранить огромную таблицу накладно (лучше не пихать в один MV измерений, по которым переменная меняется заведомо независимо), но если очень нужно то лучше это делать канонически (или понятнее, типа через UNION).
MV который вы предлагаете содержит много лишних данных, неудивительно что он получается огромным, ведь генерируются все промежуточные итоги для всех уровней, скажем для каждого дня суммируются месяцы(!), что совершенно избыточно. Summary Advisor сгенерировал бы в конце скрипта что-нибудь типа :

Код: plaintext
1.
GROUP BY T_YEAR, ROLLUP( T_MONTH,T_DAY,T_HOUR) , ......


или что нибудь подобное с GROUPING SET.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281499
Sergey P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Bill_

Спасибо большое за совет, функцию CUBE действительно в моем случае использовать неправильно. Видимо надо писать ряд ROLLUPов, ка это делает Advisord - буду эксперементировать :).

У меня кстати, была возможность позвонить в ORACLE и проконсультироваться со спецами, так вот, мне порекомендовали для создания куба - руками написать вьюху, причем почему то адвизорд использовать не предложили.

Насколько я понял, в оракле олапа подобного экспрессу больше не будет, теперь все будет на мат вью…(хотя может быть я и ошибаюсь).
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281626
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял, в оракле олапа подобного экспрессу больше не будет

Analytic Workspaces в Oracle 9i это и есть бывший Express.
Кстати вот вышел Analytic Workspace Manager в котором можно построить куб для AW.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281631
Bill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MDB Express помещенный в Oracle думаю останется, но развиваться будет OLAP на базе CWM2. Мне эта технология не нравится из-за закрытости (метаданных и процедур). В скриптах, генерируемых EM хотя бы можно искать ошибки, глюки в CWM2 делают эту систему на данный момент неработоспособной и до Express'а ей еще далеко. Когда ее доведут до ума Express умрет, поскольку обработку MDB в отличие от реляционных данных трудно контролировать.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281722
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле в 10g планируется довольно много нововведений касающихся AW, так что это навправление тоже будет развиваться. Обещают также что Oracle Discoverer сможет читать кубы AW.
А уже что кому будет удобнее - тот то и будет пользовать.
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281952
drive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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) ветки, в частности. :)
...
Рейтинг: 0 / 0
Оракловый OLAP
    #32281995
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
развитие OLAP направление в целом, и Express (AW) ветки, в частности

Жалко, уж очень медленно это развитие у них идет, да и сбольшими глюками.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Оракловый OLAP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]