Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Загальні стратегії обчислення кубів




Поза залежністю від методу зберігання (ROLAP, MOLAP), існує набір прийомів, що дозволяють зменшити час створення й обробки запитів до OLAP-Кубів.

1. Сортування, хешування, угруповання

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

2. Одночасне агрегування й хешування проміжних результатів

Ефективніше створювати підкуби високих рівнів з підкубів низьких рівнів, ніж з базової таблиці. Більш того, одночасне обчислення агрегатів може дозволити скоротити дорогі операції звертання до жорстких дисків.

Приміром, для розрахунку продажів по регіонах можна використовувати проміжні результати, отримані при розрахунку підкуба більш низького рівня продажів по регіонах, по днях.

3. Агрегування від найменшого підкуба-нащадка при наявність багатьох підкубів-нащадків

При обчисленні підкуба високого порядку часто більш ефективно використовувати найменший із уже розрахованих підкубів-нащадків. Приміром, для розрахунку куба продажів по регіонах за умови наявності 2-х розрахованих підкубів (по регіонах і рокам, і по регіонах і продуктам), мабуть, ефективніше використовувати куб по регіонах і рокам, тому що він містить менше комірок.

4. При створенні кубів типу айсберг можна використовувати наступне правило: «Якщо вказана комірка не задовольняє умові, що накладається на мінімальне значення міри, то жоден з її нащадків не задовольняє умові». Така умова може бути використана для скорочення об'єму оброблюваних даних. Однак дана умова вірна тільки для дистрибутивних агрегуючих функцій.

 

Параметри складаються із двох компонентів:

· чисельна характеристика факту, наприклад, ціна або дохід від продажів;

· формула, звичайно проста агрегативна функція, наприклад, сума MIN, MAX, AVG, COUNT, що може поєднувати кілька значень параметрів в одне. Але в деяких випадках можуть використовуватися й більш складні функції – дисперсії, середньоквадратичне відхилення й т.д.).

З погляду обчислень можна виділити три різних класи параметрів.

· Адитивні параметри можуть змістовним образом комбінуватися в будь-якому вимірі. Наприклад, має сенс підсумувати загальний обсяг продажів для продукту, місця розташування й часу, оскільки це не викликає накладення серед явищ реального світу, які генерують кожне із цих значень.

· Напівадитивні параметри, які не можуть комбінуватися в одному або декількох вимірах. Наприклад, підсумовування запасів по різних товарах і складам має сенс, але підсумовування запасів товарів у різний час безглуздо, оскільки той самий фізичний предмет може враховуватися кілька разів.

· Неадитивні параметри не комбінуються в будь-якому вимірі, звичайно тому, що обрана формула не дозволяє об'єднати середні значення низького рівня в середнім значенні більш високого рівня.

Адитивні й неадитивні параметри можуть описувати факти будь-якого роду, у той час як напівадитивні параметри, як правило, використовуються з миттєвими знімками.

 

Питання для самоперевірки

1. Як розраховується розмірність куба з агрегованими значеннями?

2. Які види агрегуючих функцій ви знаєте?

3. Перелічите види запитів до багатомірних кубів. Поясніть розходження між ними.

4. Що розуміється під «вибухом» даних?

5. Що втримується у вузлах графа, який представляє куб?

6. Поясніть зміст різних способів прискорення обробки даних багатомірного куба.

7. Які параметри називаються неадитивними?

8. У чому відмінність між неадитивними й напівадитивними параметрами?

Методичні вказівки до лекції:[3, с. 458–461].

 

Вправи

1. Задайте таблицю фактів, що містить у якості міри екзаменаційні оцінки студентів, із чотирма вимірами.

2. Оціните кількість значень у кожному вимірі із вправи 1. Розрахуйте розмір багатомірного куба з агрегованими значеннями для представлення фактичних даних.

3. Побудуйте граф для куба із вправи 3.


ЛЕКЦІЯ №8
Агреговані ЗНАЧЕННЯ ДЛЯ РІЗНИХ ВИДІВ ВИМІРІВ

 

Розглядаються наступні питання:

· поняття ступеня агрегації;

· розрахунок кількості агрегованих значень для простих вимірів;

· розрахунок кількості агрегованих значень для ієрархічних вимірів;

· обчислювальні витрати на агрегування;

· процедура попереднього формування агрегатів;

· процедура оперативного формування агрегатів.

 

Звичайно під агрегацією розуміється будь-яка процедура формування меншої кількості значень (агрегатів) на підставі більшої кількості вихідних значень. Надалі як агрегація буде розглядатися підсумовування даних і тільки для збалансованих ієрархій, оскільки незбалансовані й нерівні ієрархії зустрічаються досить рідко в порівнянні зі збалансованими.
Завчасне формування й збереження агрегатів з метою зменшення часу відгуку на користувальницький запит є основною властивістю систем підтримки оперативного аналізу.

Ступінь агрегації куба обчислюється як:

 ,                                                   (1)

де a – реальна кількість агрегованих значень показників, a* – максимально можлива кількість агрегатних значень вихідних даних куба.

При виводі формул для a і a* спочатку розберемо прості випадки із двома-трьома вимірами, а потім перейдемо до узагальненого варіанта. Те ж саме стосується й рівнів ієрархії у вимірах: спочатку розглянемо випадки простих вимірів (з одним рівнем), а потім на прикладі вимірів з декількома рівнями виведемо узагальнену формулу.




Прості виміри

Нехай є 3 прості виміри для обліку обсягу продажів деяких товарів. Структура багатомірного куба буде містити в собі наступні об'єкти (рис.11):

· Один показник: число проданих одиниць товару,

· Три виміри:

- менеджери по продажах (вісь oM),

- види товарів (вісь oC),

- часовий вимір з одиницею «місяць» (вісь oT).

Рис. 11. Тривимірний OALP-Куб із простими вимірами; стрілки показують напрямок агрегації.

 

Нехай Р, М, T – множини членів відповідних вимірів «види товарів», «менеджери», «місяці». Нехай кількість членів у кожному з вимірів nР = |Р|, nm = |М|, nt = |T|. Члени цих вимірів позначаються відповідно mр, mm, mt.

Для одержання агрегованих значень у розрізі менеджерів і місяців необхідно підсумувати первісні значення показників по всіх видах товару для кожної комбінації (mt, mm) менеджерів і місяців. На рис.11 напрямок агрегування позначений стрілкою 1. Кількість агрегованих у такий спосіб значень дорівнює nmnt. Можна представити, що агреговані в такий спосіб значення показників розташовуються на площині (oM, oT).

Аналогічно міркуючи, одержимо число агрегатів для всіх комбінацій (mр, mt) при підсумовуванні показників по всіх членах виміру “менеджери”. Воно дорівнює nрnt.

Кількість агрегатів для всіх комбінацій (mр, mm) при агрегації по часовому вимірі дорівнює nm nр.

Тепер необхідно одержати число агрегатів у розрізі членів одного з вимірів. Очевидно, що кількість таких агрегатів дорівнює числу членів відповідного виміру nm, nрі nt (стрілки 4, 5 і 6 відповідно).

З огляду на значення повного агрегату, що визначає в нашім випадку сумарний обсяг продажів по всіх видах товарів, менеджерам і всьому часовому періоду, сумарна кількість всіх агрегатів дорівнює:

a* = nmnр + nрnt + nmnt + nр + nm + nt + 1

Нехай є m вимірів. Кожному виміру відповідає порядковий номер i,i = 1..m. Кожний вимір містить ni членів.

Нехай деяка множина агрегатів, де li=0, якщо по i-му вимірі виконується агрегування, інакше li=1.

Тоді A1...11,де індекси у всіх позиціях рівні 1, є множиною  вхідних даних; A0...00,де індекси у всіх позиціях рівні 0, містить єдине значення повного агрегату.

Упорядкована послідовність l1,…,li,…,lm,відповіднамножині агрегатів Al1…li…lm,називається станом агрегації.

Рівнем деталізації називається число l = l1+…+li+…+lm... Очевидно, різні стани агрегації, а, отже, і множини агрегатів можуть відповідати тому самому рівню деталізації.

Нехай – це кількість агрегатів множини .

Для тривимірного випадку з урахуванням того, що i(Р)=1, i(M)=2, i(T)=3 – порядкові номери вимірів, одержимо

a011= nmnt ; a101= nрnt; a110= nрnm; a001= nt; a010= nm; a100= nc

Тоді

a* = a011+ a101+ a110 + a001+ a010 + a100 + a000.

Кількість агрегатів, отриманих агрегуванням по деяких вимірах, дорівнює добутку числа членів всіх інших вимірів, тобто

                                                    (2)

Кількість усіляких агрегатів дорівнює сумі при всіляких варіантах послідовності l1,…,li,…,lm,крім множини вхідних даних. Таких варіантів усього 2m -1.

Формула розрахунку повного числа агрегатів з урахуванням (2) виглядає в такий спосіб

                                                 (3)

де  – кількість варіантів розміщення k нулів по m позиціях, тобто сполучення k елементів по m, – сума всіляких неповторюваних добутків кількості членів вимірів.

Більш просту формулу можна одержати, використовуючи властивість, що випливає з (2):

Тоді

Крім числа вхідних даних, одержимо

                                             (4)

 

Ієрархічні виміри

Нехай для i-го виміру існує li* рівнів ієрархії.

ni,j – кількість членів в j-ом рівні i-го виміру, так що  при j1<j2; ni – загальна кількість членів i-го виміру:

.

Зіставимо кожному виміру порядковий номер i.

– множина агрегатів, отриманих агрегуванням вхідних даних до li-го рівня кожного з m вимірів, li = 0...li*.

Послідовність чисел l1,…,li,…,lmназивається станом агрегації.

Рівень ієрархії з нульовим номером li = 0 можна асоціювати з абстрактним кореневим рівнем, що містить завжди єдиний член (ni0 =1), який, як правило, не має відповідності реальному об'єкту предметної області. У такому випадку агрегацію по всіх членах i-го виміру можна інтерпретувати, як агрегацію до кореневого рівня i-го виміру.

Як і у випадку із простими вимірами, рівнем деталізації називається число l = l1+…+li+…+lm,відповіднемножині агрегатів .

Розглянемо двомірний випадок з наступною структурою (рис.12):

· Показники: число проданих одиниць товару,

· Виміри:

- вимір, що відповідає часу продажу (вісь oT): квартал - місяць - день,

- вимір, що відповідає місцю й продавцеві (вісь oU): салони продажів - менеджери.

Рис. 12. Двомірний випадок з ієрархічними вимірами

 

Нехай кількість членів часового виміру (T) перевищує кількість членів виміру місця (U). Тоді

- l1* = 3, l2* = 2;

- загальне число членів виміру T і U дорівнює відповідно n1 і n2;

- кількість кварталів, місяців і днів у часовому вимірі дорівнює відповідно n1,1, n1,2 і n1,3;

- кількість салонів і менеджерів дорівнює відповідно n1,1 і n2,2;

- кількість вхідних даних дорівнює n1,3 і n2,2.

Відповідна кількість агрегатів дорівнює:

- у розрізі місяців і менеджерів a22= n1,2n2,2,

- у розрізі днів і салонів продажів a31= n1,3n2,1,

- у розрізі тільки днів a30= n1,3,

- у розрізі місяців і салонів продажів a21=n1,2n2,1,

- у розрізі кварталів і менеджерів a12= n1,1n2,2,

- у розрізі тільки місяців a20= n1,2,

- у розрізі кварталів і салонів продажів a11= n1,1n2,1,

- у розрізі тільки менеджерів a02= n2,2,

- у розрізі тільки салонів продажів a01= n2,1.

- у розрізі тільки кварталів a10= n1,1,

- повний агрегат a00= 1.

У такий спосіб

a* =a31+a30+a22+a21+a20+a12+a12+a10+a02+a01+a00=

=n1,2n2,2 + n1,3n2,1+ n1,3+ n1,2n2,1+ n1,1n2,2+ n1,2+ n1,1n2,1+ n2,2, + n2,1 + n1,1 + 1.

(перший індекс - вимір, другий індекс - рівень)

З визначення слідує, що

                                      (5а),

що є загальним випадком щодо формули (2). З огляду на те, що ni,0 = 1, одержимо більш просту формулу

                                         (5б)

З (5б) виходить співвідношення між потужностями з різними рівнями деталізації

,                         (6)

де li = k…li*...

Загальна кількість всіх агрегатів виходить підсумовуванням числа агрегатів множин , обумовлених усілякими станами агрегації. Число комбінацій l1,…,li,…,lmбез урахування комбінації, що відповідає вхідним даним, дорівнює добутку (l1*+1)…(li*+1)…(lm*+1)–1... Тоді з урахуванням (5б) кількість усіляких агрегатів дорівнює:

де кожний доданок представляє унікальний добуток числа членів вимірів.

Більш зручна з погляду обчислення формула кількості всіляких агрегатів може бути отримана із властивості

,

яка слідує з (6).

Сума всіляких дорівнює:

 

Крім множини вхідних даних, і з огляду на те, що  , одержимо

                                      (7)

Формула (7) представляє узагальнений вид формули (4).










Последнее изменение этой страницы: 2018-05-10; просмотров: 256.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...