OLAP-куб

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
OLAP-куб

OLAP-куб — структура, яка дозволяє здійснювати швидкий аналіз даних[1]. Також може бути визначена як здатність до маніпулювання і аналізу даних з різних перспектив. Впорядкування даних у куби долає обмеження реляційних баз даних. Такі бази даних не дуже добре пристосовані для майже миттєвого аналізу та відображення великих обсягів даних. Навпаки, вони відповідають вимогам створення записів через серії транзакцій OLTP[2]. Хоча існує багато інструментів створення звітів для реляційних баз даних, вони надто повільні, коли має бути оброблена ціла база даних.

Основи[ред.ред. код]

OLAP-куби можна розглядати як розширення двовимірних масивів електронних таблиць. Наприклад, компанія може забажати проаналізувати деякі фінансові дані за продуктами, за періодами, за місцем продажу, за типом прибутку та ціною, і порівняти фактичні дані з бюджетом. Це і називається вимірами[3]. Оскільки OLAP система може мати більше трьох вимірів, іноді використовують термін гіперкуб.

Функціональність[ред.ред. код]

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

Проекції[ред.ред. код]

Фінансовий аналітик хоче бачити дані в різних проекціях, наприклад, відобразити всі міста уздовж сторінки, а всі продукти впоперек. Це може бути потрібно для визначенного періоду, версії і т.д.. Після перегляду цих даних аналітик може забажати переглянути дані іншим чином. Куб може бути ефективно переорієнтований, таким чином отримання нових типів звітів не вимагає багато часу, скажімо, секунди (у порівнянні з годинами у випадку реляційних баз даних)[4].

Ієрархія[ред.ред. код]

Кожен елемент виміру може бути верхівкою ієрархії[5].

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

OLAP операції[ред.ред. код]

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

Нарізка на кубики (англ. dice): зріз більше ніж за двома вимірами куба[6].

Консолідація (англ. drill up) та деталізація (англ. drill down): операції, що визначають перехід від детального представлення даних до агрегованого (вгору) і навпаки — від агрегованого до детального (вниз).

Обертання, півотинг (англ. pivot): Перетворення стовпців таблиці на рядки і навпаки.

Зв'язування кубів і розрядженість[ред.ред. код]

Комерційні OLAP продукти мають різні методи для створення і для зв'язування кубів.

Зв'язування — метод для подолання розрідженості. Розрідженість виникає коли не кожна комірка в кубі містить дані, тким чином цінний процесорний час витрачається на складання нулів.

Технічне визначення[ред.ред. код]

OLAP-куб — багатовимірний масив даних, як правило, розріджений і призначений для тривалого зберіганя. Може бути реалізований на основі універсальних реляційних СУБД або спеціалізованим програмним забезпеченням.

Індексам масиву відповідають виміри (dimensions) або осі куба, а значенням елементів масиву — міри (measures) куба.

w : (x,y,z) → wxyz,

де x, y, z — виміри, w — міра.

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

W : (x,y) → W = {wz1, wz2, …, wzn}

Також відомий опис OLAP-куба із використанням термінології реляційної алгебрипроекції відношень.

Нехай маємо відношення N, розглянемо проекцію з вимірами X, Y, і Z як ключем і W як різницевим атрибутом. Це характеризується функцією:

W : (X,Y,Z) → W,

атрибутам (X, Y, и Z) відповідають вісі куба, а значення W для кожної можливої трійки ((X, Y, Z)) відповідають даним кожної комірки куба.

Оскільки двовимірні пристрої виводу не можуть адресувати чотирі виміри, практичнішим є проеціювання «зрізів» куба (проеціювання застосовується в сенсі зменшення кількості вимірів — від куба або гіперкуба до матриці), можливе у вигляді

W : (X,Y) → W

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

Примітки[ред.ред. код]

  1. Codd E.F., Codd S.B., and Salley C.T. (1993). «Providing OLAP (On-line Analytical Processing) to User-Analysts: An IT Mandate». Codd & Date, Inc. Архів оригіналу за 2013-07-06. 
  2. Hari Mailvaganam (2007). «Introduction to OLAP - Slice, Dice and Drill». DWreview. Архів оригіналу за 2013-07-06. 
  3. «Cybertec releases OLAP cubes for PostgreSQL». PostgreSQL. 2006-10-02. Архів оригіналу за 2013-07-06. 
  4. «Computer Encyclopedia: multidimensional views». Answers.com. Архів оригіналу за 2013-07-06. 
  5. «Oracle9i Data Warehousing Guide hierarchy». Lorentz Center. 
  6. «Glossary of Data Mining Terms». University of Alberta. 1999. Архів оригіналу за 2013-07-06. 

External references[ред.ред. код]