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 має дуже велике значення.
Примітки [ред.]
- ↑ 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.
- ↑ Hari Mailvaganam (2007). «Introduction to OLAP - Slice, Dice and Drill». DWreview.
- ↑ «Cybertec releases OLAP cubes for PostgreSQL». PostgreSQL. 2006-10-02.
- ↑ «Computer Encyclopedia: multidimensional views». Answers.com.
- ↑ «Oracle9i Data Warehousing Guide hierarchy». Lorentz Center.
- ↑ «Glossary of Data Mining Terms». University of Alberta. 1999.
External references [ред.]
- Daniel Lemire (2007-12). «Data Warehousing and OLAP - A Research-Oriented Bibliography».
- Bernard Lupin (2007-09-28). «Try OLAP !».
