powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / OLAP 9i
25 сообщений из 79, страница 3 из 4
OLAP 9i
    #32204865
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните "на пальцах" работает товая технология CWM, а точнее что рекомендует Оракл для OLAPa теперь?
С AW я все понял, а вот с новой технологией не очень.
У меня задача написать клиента который работет на SQL, никаких там Java и впомине нет. На сколько я попял нужно делать следущее (AW в расчет не берем):
1. Создаем базу для ROLAP типа звезда например
2. В EM рисуем OLAP для CWM1 (скажем, что возможности CWM2 не требуются)
3. Создаем MVs с помощью адвизора
все. получили ROLAP базу с агрегатами в MV
теперь обычными SQL запросами тянем данные из таблиц, и при этом планировщик запросов сам соптимизирует с использованием агрегатов в MV план запросов.
ТАК ЛИ ЭТО?
...
Рейтинг: 0 / 0
OLAP 9i
    #32204892
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теперь обычными SQL запросами тянем данные из таблиц, и при этом планировщик запросов сам соптимизирует с использованием агрегатов в MV план запросов.

Нет, обращение к OALP идет при помощи JavaAPI
...
Рейтинг: 0 / 0
OLAP 9i
    #32205006
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это еще почему при помощи Java API?
А OLAP_TABLE для AW это что?
То что CWM нужен для обращения через Java API еще ничего не говорит от том, что он необходим для обращения через SQL.
Ну да это фигня... вот база SH это же OLAP система не так ли, причем это ROLAP так как никаких AW там нет, а значит и нет никаких MOLAP объектов.
Так как же выгледят запросы к OLAP базе SH ?
...
Рейтинг: 0 / 0
OLAP 9i
    #32205016
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос был о CWM1 - я ответил.
...
Рейтинг: 0 / 0
OLAP 9i
    #32205273
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему вопрос был не о том как извне обращаться к ROLAP базе, поэтому JavaAPI тут непричем.
А какого типа запросы делаются например к базе SH - пожалуйста:
Это автоматический запрос, поэтому несколько громоздок, но зато показателен. :-)

Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
SELECT  /*+  bypass_recursive_check  INDEX_COMBINE(V8)  */  
  SUM_284 SUM_284, 
  ((CASE GROUPING_ID_281
   WHEN  7 
   THEN 'PROD_ROLLUP::PROD_TOTAL::'
   WHEN  3 
   THEN 'PROD_ROLLUP::CATEGORY::'
   WHEN  1 
   THEN 'PROD_ROLLUP::SUBCATEGORY::'
   WHEN  0 
   THEN 'PROD_ROLLUP::PRODUCT::'
   ELSE NULL END)  || (CASE GROUPING_ID_281
   WHEN  7 
   THEN TO_CHAR(T5_PROD_TOTAL) 
   WHEN  3 
   THEN TO_CHAR(T5_PROD_CATEGORY) 
   WHEN  1 
   THEN TO_CHAR(T5_PROD_SUBCATEGORY) 
   ELSE TO_CHAR(T5_PROD_ID)  END) )  ALIAS_286, 
  GROUPING_ID_281 GROUPING_ID_281, 
  T5_PROD_TOTAL T5_PROD_TOTAL, 
  T5_PROD_CATEGORY T5_PROD_CATEGORY, 
  T5_PROD_SUBCATEGORY T5_PROD_SUBCATEGORY, 
  T5_PROD_ID T5_PROD_ID, 
  ((CASE GROUPING_ID_282
   WHEN  7 
   THEN 'CAL_ROLLUP::YEAR::'
   WHEN  3 
   THEN 'CAL_ROLLUP::QUARTER::'
   WHEN  1 
   THEN 'CAL_ROLLUP::MONTH::'
   WHEN  0 
   THEN 'CAL_ROLLUP::DAY::'
   ELSE NULL END)  || (CASE GROUPING_ID_282
   WHEN  7 
   THEN TO_CHAR(T6_CALENDAR_YEAR) 
   WHEN  3 
   THEN TO_CHAR(T6_CALENDAR_QUARTER_DESC) 
   WHEN  1 
   THEN TO_CHAR(T6_CALENDAR_MONTH_DESC) 
   ELSE TO_CHAR(T6_TIME_ID)  END) )  ALIAS_287, 
  GROUPING_ID_282 GROUPING_ID_282, 
  T6_CALENDAR_YEAR T6_CALENDAR_YEAR, 
  T6_CALENDAR_QUARTER_DESC T6_CALENDAR_QUARTER_DESC, 
  T6_CALENDAR_MONTH_DESC T6_CALENDAR_MONTH_DESC, 
  T6_TIME_ID T6_TIME_ID, 
  NULL ALIAS_288 
FROM 
  (
  SELECT  /*+  index_combine(*) */  
    GROUPING_ID(T5.PROD_TOTAL, T5.PROD_CATEGORY, T5.PROD_SUBCATEGORY, T5.PROD_ID)  GROUPING_ID_281, 
    T5.PROD_TOTAL T5_PROD_TOTAL, 
    T5.PROD_CATEGORY T5_PROD_CATEGORY, 
    T5.PROD_SUBCATEGORY T5_PROD_SUBCATEGORY, 
    T5.PROD_ID T5_PROD_ID, 
    GROUPING_ID(T6.CALENDAR_YEAR, T6.CALENDAR_QUARTER_DESC, T6.CALENDAR_MONTH_DESC, T6.TIME_ID)  GROUPING_ID_282, 
    T6.CALENDAR_YEAR T6_CALENDAR_YEAR, 
    T6.CALENDAR_QUARTER_DESC T6_CALENDAR_QUARTER_DESC, 
    T6.CALENDAR_MONTH_DESC T6_CALENDAR_MONTH_DESC, 
    T6.TIME_ID T6_TIME_ID, 
    SUM(T7.UNIT_COST)  SUM_284 
  FROM 
    SH.PRODUCTS T5, 
    SH.TIMES T6, 
    SH.COSTS T7 
  WHERE 
    ((T7.PROD_ID = T5.PROD_ID) 
      AND (T7.TIME_ID = T6.TIME_ID) )  
  GROUP BY 
    (T5.PROD_TOTAL) , 
    ROLLUP ((T5.PROD_CATEGORY) , (T5.PROD_SUBCATEGORY) , (T5.PROD_ID) ) , 
    (T6.CALENDAR_YEAR) , 
    ROLLUP ((T6.CALENDAR_QUARTER_DESC) , (T6.CALENDAR_MONTH_DESC) , (T6.TIME_ID) )  ) 
  V8 
WHERE 
  (((GROUPING_ID_282 =  7 . 000000 ) 
      AND ((T6_CALENDAR_YEAR)  IN (( 1998 . 000000 ) , ( 1999 . 000000 ) , ( 2000 . 000000 ) , ( 2001 . 000000 ) ) ) ) 
    AND ((GROUPING_ID_281 =  7 . 000000 ) 
      AND ((T5_PROD_TOTAL)  IN (('Product total') ) ) ) )
...
Рейтинг: 0 / 0
OLAP 9i
    #32205530
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Birkhoff
Почти то, что я хотел узнать.

То есть мои 3 пункта создания олапа были верны, осталось решить как тянуть данные на SQL, но такого запроса я не ожидал. А чем сие чудо сгенерировано ? Может я невнимательно читат User Guide и OLAP DML, но я такого там не видел 8-)
Вы можете более подробно объяснить этот запрос?
...
Рейтинг: 0 / 0
OLAP 9i
    #32205597
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот настырные, вот это чудо как раз JavaAPI и генерирует.
...
Рейтинг: 0 / 0
OLAP 9i
    #32205795
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DimaR

Ну предположим связь этого запроса с JavaAPI есть (хотя не уверен), а что мешает-то руками такой же сделать и запустить без всякой Java? :)

2 OldRick

Сгенерено приложением, использующим BIBeans.
А Table Function нужны в частности для того чтобы читать данные, хранящиеся в AW, а не в реляционных таблицах (ну и не только для этого).

Запрос подробно объяснять будет наверное слишком долго :)
Основная сложность в том, что там используются команды для обсчета ROLLUP-ов, которые появились недавно.
Позапускайте его, поиграйтесь, думаю понятнее будет. Ну и доку почитать можно по OracleDB.
...
Рейтинг: 0 / 0
OLAP 9i
    #32205951
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to: Birkhoff

Давай определимся, мы говорим об ROALP
если я буду писать такой запрос сам, то нахрен спрашиваеться мне нужен ROALP?, я пишу запрос используя аналитические функции и проч. к DWH и все.

А работа с AW через SQL это совершенно другая тема.
...
Рейтинг: 0 / 0
OLAP 9i
    #32205964
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DimaR

Чего-то я не понял, что ты хотел сказать.
ROLAP - это, можно сказать, способ хранения данных.
Чем ты к базе данных строишь запросы, руками или визардами или еще чем-то - твое личное дело. Зачем это тебе нужно - тоже зависит от твоих задач, от того приложения которое пишешь, если пишешь. :-)
И будешь ты работать с AW или нет тоже от тебя зависит.

А запрос не такой сложный как кажется, если не пугаться.

Переформулируй свою мысль, плиз.
...
Рейтинг: 0 / 0
OLAP 9i
    #32205977
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DimaR
Да AW это другая тема.

Но зачем мне использовать Java когда я действительно могу использовать SQL?
Как не крути, но в User Guide есть схема работы с олапом и там явно показано как все работат.
Ваш запрос из Java конечно строится гораздо легче, и выглядит нагляднее, но всеравно этот запрос перелопачивется в SQL запрос (ну если рассматриваем ROLAP) котрый привел Birkhoff (за что ему отдельное спасибо)
Так вот зачем мне при использовании ROLAP нести всю тяжесть Java если я могу все теже запросы построить сам и использовать их в легком SQL приложении ???
...
Рейтинг: 0 / 0
OLAP 9i
    #32206109
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перефразирую
to Birkhoff

ROLAP это не способ хранения данных, а в 9i это каталог метаданных (CWM)описывающих структуру данных в хранилище данных DWH, т.е. обычных таблицах, при помощи Summary Advisor in the DBMS_OLAP Package можно создать снапшоты с агрегироваными данными,
а при помощи JavaAPI (который и генерирует запросы к базе).

Приче JavaAPI делает это прозрачно, независимо обращаетесь вы к каталогу метаданных ROLAP (CWM) или AW (CWM2).

Т.е. вся идея ROLAP, это генерирование запросов библиотекой JavaAPI, цитата из Oracle9 i OLAP User’s Guide, Release 2 (9.2), раз вы на него ссылаетесь.


The OLAP API accesses the data through the OLAP catalog, that is, the relational
tables that contain OLAP metadata. The application does not need to be aware of
whether the data is located in relational tables or in an analytic workspace, nor does
it need to know the mechanism for accessing that data.
Oracle OLAP translates all queries from the OLAP API into SQL; when a query is
issued through the OLAP API, the SQL generator in Oracle OLAP issues a SELECT
statement against a relational table or view. This has several advantages for
application developers:
The difficult task of writing the complex SQL needed to resolve
multidimensional queries, and even more difficult task of optimizing that
complex SQL, is left for Oracle OLAP to do. Application developers can be
more productive writing in the OLAP API, which is designed for OLAP.
n Updates to SQL and the OLAP DML will be incorporated into new versions of
the OLAP API. Applications can make use of new analytic and performance
features without recoding.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206128
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DimaR

ROLAP - это реляционный OLAP. Это слово появилось задолго до появления Oracle OLAP Option.

Relational online analytical processing (ROLAP) is a form of online analytical processing (OLAP) that performs dynamic multidimensional analysis of data stored in a relational database rather than in a multidimensional database (which is usually considered the OLAP standard).

Более того в User Guide даже слово ROLAP не встречается.

Я не спорю с тем, что существует JavaAPI, но я не понимаю почему ты говоришь, что единственный способ работы с хранилищем - через JavaAPI?

Ты ведь можешь писать просто на SQL.
Более того в твоей же цитате написано что JavaAPI генерит на выходе SQL.

У тебя свобода выбора - хочешь используй API, хочешь не используй.
Если удобнее через API - работай через API.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206143
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не спорю с тем, что существует JavaAPI, но я не понимаю почему ты говоришь, что единственный способ работы с хранилищем - через JavaAPI?

Я говорил обратное, а ROLAP в этом контексте употребляеться как средства предоставляемые 9i для работы с многомерными данными, это CWM и JavaAPI.

А запросы писать можно было всегда, и в других версиях, да и вообще в любой СУБД
...
Рейтинг: 0 / 0
OLAP 9i
    #32206146
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда я не понял, о чем мы спорим? :)
Если все со всем согласны...
...
Рейтинг: 0 / 0
OLAP 9i
    #32206148
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DimaR
> Приче JavaAPI делает это прозрачно, независимо обращаетесь вы к каталогу > метаданных ROLAP (CWM) или AW (CWM2).

Не соглашусь с этим утверждением CWM2 позволяет больше CWM1 но по сути ничем не отличается, то есть нелья говорить что CWM2 это AW, совсем нет. Он стирает разницу между двумя подходами к хранению данных в частности на CWM2 можно построить каталог обращающийся и к реляционному хранилищу и к AW (при помощи пакета CWM2_OLAP_AW_ACCESS), на CMW1 к AW нельзя. А вот построив каталог гонять запросы на Java не заботясь о системе хранения.
Но с CWM2 работать тяжело, так как писать огромное количество кода руками не хочется, проще дождаться изменений в консоли. Да и вообще для рядовых проектов его возможности не нужны.

2 All
А никто не сравнивал производительность обоих подходов к хранению?
Я пока ничего кроме пространных замечаний не встречал.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206152
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так значит ничего не поменялось с 8й версии. (для доступа из SQL)
И в ней можно было создавать вьюхи и оптимизатор бы их использовал и все крутилось бы также как и сейчас реляционный подходи на 9ке, только небыло каталога для доступа из явы и небыло удобного адвизора для создания вьюх.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206153
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мне сразу не понравилось в CWM1 это невозможность работать с несбалансироваными иерархиями. (может я и ошибаюсь, но помоему даже в доке так написано)
...
Рейтинг: 0 / 0
OLAP 9i
    #32206154
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 OldRick

Зависит от того по каким критериям сравнивать.
Думаю, что сравнение будет примерно такое же как сравнивать Экспресс с Oracle 9 ROLAP.

Кстати в Oracle 9.2.0.3 появился package DBMS_AWM, который облегчает (по идее) работу с AW, так как вроде работает сам надстройкой над CWM2.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206156
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to OldRick
Появились аналитические функции и всякие прибамбасы к group by
...
Рейтинг: 0 / 0
OLAP 9i
    #32206158
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DimaR

Parent-child иерархии появились в CWM2, в CWM их не было.

2 OldRick

Есть изменения по сравнению с 8кой. Те же CWM разве мало? Ну и BIBEANS раньше не работали.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206161
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати в Oracle 9.2.0.3 появился package DBMS_AWM

Это что такое и где его искать?
у меня 9.2.0.3
...
Рейтинг: 0 / 0
OLAP 9i
    #32206167
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DimaR

Он будет использоваться Analytical Workspaсe Manager для преобразования ROLAP звезды в AW и прописывания AW базы например в BIBeans catalog или для Discoverer, после этого можно будет работать с AW базой из Discoverer или BIBEANS.
По идее если у тебя 9203 то он (DBMS_AWM) у тебя есть.
А насчет как с ним работать и работает ли он вообще - не знаю пока.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206172
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пакет увидел.
...
Рейтинг: 0 / 0
OLAP 9i
    #32206177
OldRick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Birkhoff
Есть изменения по сравнению с 8кой. Те же CWM разве мало? Ну и BIBEANS раньше не работали.
Я имел в виду не эти изменения, это количественные изменения, а не качественые. Реляционное хранилище не станет быстрее работать от того что создали описательный каталог.
А на счет сравнения AW это всетаки не экспресс хотябы потому, что движок в ядре теперь. И поэтому можно сравнить AW и реляционку на одном и томже примере (хотябы на SH).

DBMS_AWM
Он будет использоваться Analytical Workspaсe Manager для преобразования ROLAP звезды в AW и прописывания AW базы например в BIBeans catalog или для Discoverer, после этого можно будет работать с AW базой из Discoverer или BIBEANS.


Так получается предлагается вариант перевода ROLAP в MOLAP - это скорее всего знак того, что появились проблемы с производительностью в ROLAP, хотя бытует мнение, что Oracle основной разработкой будет продвигать именно ROLAP, а AW используется для совместимости с экспрессом и как можно более прозрачно.

2 DimaR
Появились аналитические функции и всякие прибамбасы к group by
Это тоже опять же количественные изменения, улучшения и т.д. хотя конечно самостоятельная реализация необходимых функций несколько (а может и серьезно) замедляет общий результат.
...
Рейтинг: 0 / 0
25 сообщений из 79, страница 3 из 4
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / OLAP 9i
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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