OLAP-куб
OLAP-куб — структура, яка дозволяє здійснювати швидкий різноплановий аналіз даних[1]. Також може бути визначена як здатність до маніпулювання і аналізу даних з різних перспектив. Впорядкування даних у куби долає обмеження реляційних баз даних. Такі бази даних не дуже добре пристосовані для майже миттєвого аналізу та відображення великих обсягів даних. Навпаки, вони відповідають вимогам створення записів через серії транзакцій OLTP[2][3]. Хоча існує багато інструментів створення звітів для реляційних баз даних, вони надто повільні, коли має бути оброблена ціла база даних.
OLAP-куби можна розглядати як розширення двовимірних масивів електронних таблиць. Наприклад, компанія може забажати проаналізувати деякі фінансові дані за продуктами, за періодами, за місцем продажу, за типом прибутку та ціною, і порівняти фактичні дані з бюджетом. Це і називається вимірами[4]. Оскільки OLAP система може мати більше трьох вимірів, іноді використовують термін гіперкуб.
OLAP-куб складається з числових фактів, що називаються мірами які категоризовані за вимірами. Куб може бут створеним зі схеми зірки або схеми сніжинки, схеми таблиць в реляційній базі даних. Міри походять із записів в таблиці фактів, а виміри походять з таблиці вимірів.
Фінансовий аналітик хоче бачити дані в різних проєкціях, наприклад, відобразити всі міста уздовж сторінки, а всі продукти впоперек. Це може бути потрібно для визначеного періоду, версії і т.д.. Після перегляду цих даних аналітик може забажати переглянути дані іншим чином. Куб може бути ефективно переорієнтований, таким чином отримання нових типів звітів не вимагає багато часу, скажімо, секунди (у порівнянні з годинами у випадку реляційних баз даних)[5].
Кожен елемент виміру може бути верхівкою ієрархії[6].
Наприклад, січень 2010 може бути об'єднаний у першу чверть 2010, яка може бути об'єднана в 2010 рік. Схожим чином міста можуть бути об'єднані в регіони, країни в глобальні регіони, товари можуть бути об'єднані в більші категорії. Аналітик може почати з вищого рівню ієрархії, такого як загальна різниця між витратами і бюджетом, а потім заглиблюватися в нижчі рівні для визначення походження цієї різниці.
Комерційні OLAP продукти мають різні методи для створення і для зв'язування кубів.
Зв'язування — метод для подолання розрідженості. Розрідженість виникає коли не кожна комірка в кубі містить дані, таким чином цінний процесорний час витрачається на складання нулів.
Розгляд даних, як куба з ієрархічними вимірами, призводить до концептуально простих операцій для полегшення аналізу. Узгодження вмісту даних зі знайомою візуалізацією покращує навчання та продуктивність аналітика.[7] Ініційований користувачем процес навігації шляхом виклику сторінки відображається в інтерактивному режимі через специфікацію фрагментів за допомогою обертання та деталізації.
Зріз (англ. slice): формується підмножина багатовимірного масиву даних, що відповідає єдиному значенню одного або декількох вимірів, що не входять до цієї підмножини. Якщо розглядати з позиції кінцевого користувача, то найчастіше роль зрізу відіграє двовимірна проєкція OLAP-куба. На малюнку показано операцію розрізу: показники продажів усіх регіонів продажів і всіх категорій продуктів компанії за 2005 і 2006 роки «вирізані» з куба даних.
Нарізка на кубики (англ. dice): зріз більше ніж за двома вимірами куба[8].На малюнку показано операцію нарізання кубиками: новий куб показує цифри продажів обмеженої кількості категорій продуктів, параметри часу та регіону охоплюють той самий діапазон, що й раніше.
Консолідація (англ. drill up) та деталізація (англ. drill down): операції, що визначають перехід від детального представлення даних до агрегованого (вгору) і навпаки — від агрегованого до детального (вниз). На малюнку показана операція деталізації: аналітик переходить із підсумкової категорії «Зовнішнє захисне обладнання», щоб переглянути показники продажів для окремих продуктів.
Обертання, півотинг (англ. pivot): Перетворення стовпців таблиці на рядки і навпаки. Наприклад, міста можна розташувати вертикально, а продукти – горизонтально під час перегляду даних за певний квартал. Зведення може замінити продукти на періоди часу, щоб переглянути дані за певний час для окремого продукту.[7][9]
На зображенні показана операція повороту: весь куб повертається, що дає змогу переглянути дані з іншого боку.
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.
{{cite web}}
: Недійсний|deadurl=404
(довідка) - ↑ а б OLAP and OLAP Server Definitions. The OLAP Council. 1995. Процитовано 18 березня 2008.
- ↑ Glossary of Data Mining Terms. University of Alberta. 1999. Архів оригіналу за 6 липня 2013. Процитовано 31 січня 2010.
- ↑ Computer Encyclopedia: multidimensional views. Answers.com. Процитовано 5 березня 2008.
- 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.