OLAP-куб
OLAP-куб — структура, яка дозволяє здійснювати швидкий різноплановий аналіз даних[1]. Також може бути визначена як здатність до маніпулювання і аналізу даних з різних перспектив. Впорядкування даних у куби долає обмеження реляційних баз даних. Такі бази даних не дуже добре пристосовані для майже миттєвого аналізу та відображення великих обсягів даних. Навпаки, вони відповідають вимогам створення записів через серії транзакцій OLTP[2][3]. Хоча існує багато інструментів створення звітів для реляційних баз даних, вони надто повільні, коли має бути оброблена ціла база даних.
Основи
OLAP-куби можна розглядати як розширення двовимірних масивів електронних таблиць. Наприклад, компанія може забажати проаналізувати деякі фінансові дані за продуктами, за періодами, за місцем продажу, за типом прибутку та ціною, і порівняти фактичні дані з бюджетом. Це і називається вимірами[4]. Оскільки OLAP система може мати більше трьох вимірів, іноді використовують термін гіперкуб.
Функціональність
OLAP-куб складається з числових фактів, що називаються мірами які категоризовані за вимірами. Куб може бут створеним зі схеми зірки або схеми сніжинки, схеми таблиць в реляційній базі даних. Міри походять із записів в таблиці фактів, а виміри походять з таблиці вимірів.
Проєкції
Фінансовий аналітик хоче бачити дані в різних проєкціях, наприклад, відобразити всі міста уздовж сторінки, а всі продукти впоперек. Це може бути потрібно для визначеного періоду, версії і т.д.. Після перегляду цих даних аналітик може забажати переглянути дані іншим чином. Куб може бути ефективно переорієнтований, таким чином отримання нових типів звітів не вимагає багато часу, скажімо, секунди (у порівнянні з годинами у випадку реляційних баз даних)[5].
Ієрархія
Кожен елемент виміру може бути верхівкою ієрархії[6].
Наприклад, січень 2010 може бути об'єднаний у першу чверть 2010, яка може бути об'єднана в 2010 рік. Схожим чином міста можуть бути об'єднані в регіони, країни в глобальні регіони, товари можуть бути об'єднані в більші категорії. Аналітик може почати з вищого рівню ієрархії, такого як загальна різниця між витратами і бюджетом, а потім заглиблюватися в нижчі рівні для визначення походження цієї різниці.
OLAP операції
Зріз (англ. slice): формується підмножина багатовимірного масиву даних, що відповідає єдиному значенню одного або декількох вимірів, що не входять до цієї підмножини. Якщо розглядати з позиції кінцевого користувача, то найчастіше роль зрізу відіграє двовимірна проєкція OLAP-куба.
Нарізка на кубики (англ. dice): зріз більше ніж за двома вимірами куба[7].
Консолідація (англ. 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 має дуже велике значення.
Примітки
- 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. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
- Hari Mailvaganam (2007). Introduction to OLAP - Slice, Dice and Drill. DWreview. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
- Круковський І. А. Удосконалені вимоги до реалізації olap у DSS для часткових проблемних областей інформаційно-аналітичної роботи / І. А. Круковський // Військово-технічний збірник. - 2010. - Вип. 3. - С. 26-33. - Режим доступу: http://nbuv.gov.ua/UJRN/vtzb_2010_3_8.
- Cybertec releases OLAP cubes for PostgreSQL. PostgreSQL. 2 жовтня 2006. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
- Computer Encyclopedia: multidimensional views. Answers.com. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
- Oracle9i Data Warehousing Guide hierarchy. Lorentz Center. Архів оригіналу за 19 листопада 2010. Процитовано 31 січня 2010.
- Glossary of Data Mining Terms. University of Alberta. 1999. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
External references
- Daniel Lemire (2007-12). Data Warehousing and OLAP - A Research-Oriented Bibliography. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
- Bernard Lupin (28 вересня 2007). Try OLAP !. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.