Студопедия

КАТЕГОРИИ:

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

Операції, виконувані над гіперкубом




1. Зріз (slice-and-dice) – формується підмножина багатомірного масиву даних, що відповідає єдиному значенню одного або декількох елементів вимірів, що не входять у цю підмножину.

Приклад. Якщо обмежиться значенням виміру Модель Комп'ютера - Celeron, то вийде підмножина гіперкуба (у цьому випадку – двомірна таблиця), що містить інформацію про історію продажів цієї моделі різними менеджерами в різні роки.

2. Обертання (rotating) – зміна розташування вимірів, представлених у звіті або на відображуваній сторінці. Наприклад, операція обертання може полягати в перестановці місцями рядків і стовпців таблиці. Крім того, обертанням куба даних є переміщення позатабличних вимірів на місце вимірів, представлених на відображуваній сторінці, і навпаки.

Приклад для першого випадку.Є звіт, для якого елементи виміру "Час" розташовуються поперек екрана (заголовки стовпців таблиці), а елементи виміру «Комп'ютери» – уздовж екрана (заголовки рядків таблиці). Після застосування операції обертання звіт буде мати такий вигляд: елементи виміру «Комп'ютери» будуть розташовані по горизонталі, а елементи виміру «Час» – по вертикалі.

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

Приклад.Проаналізувавши, наскільки успішно в 2010 р. Петров продавав моделі Pentium і Athlon, директор може захотіти довідатися, як виглядає співвідношення продажів цих моделей на рівні Підрозділу, де Петров працює. А потім одержати аналогічну довідку по Регіоні або Фірмі.

4. Злиття (drill-across) комбінує куби, які мають одне або кілька загальних вимірів. З погляду реляційної алгебри така операція виконує з'єднання (join).

5. Ранжирування (ranking) повертає тільки ті комірки, які з'являються у верхній або нижній частині впорядкованого певним чином списку, наприклад, 10 самих продаваних продуктів у конкретному місті в 2009 році.

 

 

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

5. У чому відмінність між збалансованою й незбалансованою ієрархіями?

6. У чому відмінність між збалансованою й нерівною ієрархіями?

7. Що загального між збалансованою й нерівною ієрархіями?

8. Які типи фактів Ви знаєте?

9. Опишіть особливості схеми «зірка».

10. Опишіть особливості схеми «сніжинка».

11. Дайте порівняльний аналіз схем «зірка» і «сніжинка».

12. Які операції над кубами Ви знаєте?

Методичні вказівки до лекції:[2, с. 40–44] ; [3, с. 80-86]; [5, с. 971–976, 984]; [8,с. 30–32].

 

Вправи

4. Приведіть приклад збалансованої, незбалансованої й нерівної ієрархії.

5. Приведіть приклади декількох ієрархій для виміру Час.

6. Приведіть приклади декількох ієрархій для виміру Товар.

7. Приведіть приклад адитивного, неадитивного й полуадитивного параметра для предметної області «Аптека».

8. Дайте приклад схеми «зірка» і «сніжинка» для предметної області «Агентство нерухомості».

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

 


ЛЕКЦІЯ №7
 АГРЕГАЦІЯ ДАНИХ У БАГАТОМІРНОМУ КУБІ

 

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

· схема агрегування даних для формування куба;

· розрахунок розміру куба;

· класифікація агрегуючих функцій;

· види запитів до кубів;

· «вибух» даних;

· стандартне представлення куба;

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

· види параметрів.

 

Розглянемо приклад

Таблиця фактичних даних

Регіон Продукт Час Продаж
Р1 Книги Весна 9
Р1 Їжа Осінь 3
Р2 Книги Осінь 6

 

Куб з агрегованими значеннями

Агрегуюча функція - AVG

Регіон Продукт Час AVG (Продаж)
Р1 Книги Весна 9
Р1 Їжа Осінь 3
Р2 Книги Осінь 6
Р1 Книги All 9
All Книги Весна 9

Р2 All All 6
All Їжа All 3
All All Весна 9
All All All 6

 

Схема агрегування даних для формування куба показана на рис.9.

Розмір куба даних визначається по формулі , де d – кількість вимірів, ni – кількість різних значень у вимірі, «+1» відповідає значенню All, агрегуючему всі можливі значення виміру.

Таким чином, при базовій таблиці в 3 рядки результуючий куб у вигляді простої реляційної таблиці, у якій прямо зберігаються всі агрегати, має 27 рядків.

По кожному вимірі можна задавати власну (і не одну) функцію агрегації.

З погляду складності розпаралелювання агрегуючі функції можна поділити на наступні класи:

Дистрибутивні функції – дозволяють розбивати вхідні дані й обчислювати окремі підсумки, які потім можна поєднувати, наприклад, sum, count, min, max.

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

Холістичні функції – неможливо обчислювати на часткових даних або представляти яким-небудь образом, наприклад, rank().

За часом року
avg
avg
 
 
За регіонами
Р1
Р2
avg
 
 
avg
 
 
avg
avg
avg
Р1
Р2
За регіонами
За часом року
Весна
Літо
Весна
Літо
За продуктами
Р1
Р2
За регіонами
Книги
Їжа

Рис. 9. Агрегування даних

 

Види запитів до кубів

Крапкові запити (Point queries) –  вертається агрегуюче значення міри в якійсь комірці куба, координати якої задаються в запиті. Всі інші запити можна переписати, використовуючи серії крапкових запитів. Тому час виконання крапкових запитів є однієї з найважливіших характеристик алгоритму зберігання OLAP даних.

SELECT SUM(продажі) FROM Продажі

WHERE (регіон = Р1) AND (продукт = книги) AND (сезон = весна)

Результат: комірка (Р1, книги, весна)

Інтервальні запити (Range queries) – вертається деякий набір крапок куба, що задовольняє заданим умовам.

SELECT регіон, продукт, SUM(продажі) FROM Продажі

WHERE ((регіон = Р1) OR ((регіон = Р2)) AND ((продукт = книги) OR (продукт = їжа))

GROUP BY регіон, продукт

Результат: продажі книг і їжі в Р1 і Р2

Зворотні запити (Iceberg queries) – на відміну від крапкових й інтервальних запитів, для відповіді на запит даного типу використовуються значення міри (агрегуючі значення). Зворотний запит повертає всі комірки куба, що задовольняють обмеженням, накладеним на значення міри користувачем.

SELECT регіон, продукт, час, AVG(продажі)

FROM Продажі

GROUP BY регіон, продутий, час

HAVING AVG(продажі) >= 6

(в умові HAVING полягає обмеження на значення міри)

 

«Вибух» даних

При додаванні вихідних даних у куб обсяг даних і час обчислення куба ростуть експоненційльно, тому що необхідно розраховувати агрегати по кожному з вимірів. Наприклад, десятивимірний куб без ієрархії усередині вимірів з кількістю значень 100 для кожного виміру приводить до структури з 10110=1,120 комірками. Навіть якщо припустити розрідженість 1 до 106 (тобто тільки один з мільйона комірок містить дані), куб однаково буде мати 1,114 непустих комірок. Якщо порожні значення досить легко стискуються, то «вибухом даних» називають ріст кількості агрегатів по всіх вимірах, які необхідно обчислити. Тобто додавання однієї комірки в куб з 10 вимірами, що містять підсумки, приводить до необхідності порахувати порядку 210 підсумкових агрегатів.

 

Уважається стандартним представлення куба у вигляді графа, у якому вузли визначають представлення (view) для відповіді на запит (рис. 10). Для кожного вузла мітка позначає виміри, по яких у представленні є фактичні дані, за значеннями ALL виконується агрегація.

                                                                                                     

Рис.10. Представлення куба у вигляді графа

 

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

Вибір підкубов для матеріалізації визначає майбутню продуктивність системи. Можна одержати набір уявлень, при використанні якого для виконання запитів буде вироблятися не більше 1-2 агрегацій (по одному вимірі), що означає дуже швидку відповідь на запит. І навпаки, можлива ситуація, у якій для відповіді на запит необхідно буде створювати всі агрегації від фактичних даних (базового куба). Однак кількість підкубів експоненціально залежить від кількості вимірів (як 2d, де d – кількість вимірів), тому для повної матеріалізації може вимагатися величезний об'єм пам'яті й місця на жорсткому диску.

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

 










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

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