ОПЕРАТИВНА АНАЛІТИЧНА ОБРОБКА ДАНИХ

Можна виділити два класи систем, що забезпечують аналітичну обробку даних. Історично першими виникли системи, що реалізують статистичний аналіз. Результати роботи цих систем - побудовані графіки, діаграми, регламентовані звіти, що володіють фіксованою формою і позбавлені гнучкості. У таких звітах не можна змінити уявлення даних: поміняти стовпці з рядками, укрупнити, деталізувати і т.п. Як показує досвід, при перегляді таких звітів у менеджерів виникають не рішення, а питання, що тягнуть за собою побудова додаткових звітів, що вимагає часу і ресурсів і знижує оперативність прийнятого рішення. Необхідність досить швидкого отримання відповідей на нерегламенгірованние запити, які виникають в ході аналізу даних, привела до появи систем оперативної аналітичної обробки даних.

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

OLAP надає аналітику гнучкі механізми маніпулювання даними та їх візуального відображення, за допомогою яких він має можливість зіставити різні показники бізнесу між собою, виявити приховані взаємозв'язки. Фактично, з точки зору ЛІР, OLAP є зручною графічною оболонкою для навігації, візуалізації та аналізу в різних розрізах величезної кількості взаємозалежної інформації про діяльність організації, що надходить з ІС організації.

В основі OLAP лежить поняття багатовимірного куба даних, в осередках якого зберігаються аналізовані (числові) дані, наприклад, обсяги продажів у штуках або в грошовому вираженні, залишки на складі, витрати і т.п. Ці числові дані називаються заходами або фактами (measures, facts). Осями багатовимірної системи координат є основні атрибути аналізованого бізнес-процесу, які називаються вимірами (dimensions). Прикладами вимірювань можуть бути товар, регіон, тип покупця, час.

У найпростішому випадку куб містить два виміри і може бути представлений у вигляді двовимірної таблиці, наприклад, включає в себе дані про продажі різних товарів за різні періоди часу. У разі трьох вимірів куб можна уявити графічно, як це зображено на рис. 3.4. Строго кажучи, з точки зору математики такий масив буде кубом далеко не завжди, гак як кількість елементів у різних вимірів, які є «сторонами» куба, може бути неоднаковим - у OLAP-куба таких обмежень немає.

багатовимірний куб

Мал. 3.4. багатовимірний куб

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

Якщо тривимірний куб можна уявити графічно, то куб з кількістю вимірів більше трьох візуалізувати вже неможливо. Тому в реальності для аналізу використовують зрізи куба. Зріз куба - це результат вибірки даних куба за обраними користувачем значень вимірів, які називаються мітками (members). Наприклад, аналітик хоче порівняти продажу трьох груп товарів в Москві і Санкт-Петербурзі за січень і лютий. У цьому випадку він повинен розташувати значення вимірювання «Товар» по рядках, значення вимірювань «Місто» і «Час» - по стовпцях і вибрати в вимірах цікавлять його позиції. Зріз куба матиме вигляд, представлений на рис. 3.5.

зріз куба

Мал. 3.5. зріз куба

Можливий варіант, коли аналітику потрібно отримати дані, що відповідають одному значенню вимірювання або за всіма значеннями вимірювання в цілому. У цьому випадку такий вимір називають фіксованим, воно не розташовується по рядках або стовпцях, а виступає в якості параметра звіту (рис. 3.6).

Зріз куба з фіксованими вимірами в середовищі Deductor

Мал. 3.6. Зріз куба з фіксованими вимірами в середовищі Deductor

Деякі вимірювання можуть мати кілька рівнів. Наприклад, рік ділиться на квартали, квартали на місяці, місяці на тижні, тижні на дні; країна складається з регіонів, регіони - з населених пунктів, в містах можна виділити райони і конкретні торговельні точки; товари можна об'єднувати в товарні групи. У термінах OLAP такі багаторівневі об'єднання називаються ієрархіями. Ієрархічні вимірювання дозволяють аналізувати інформацію на різних рівнях агрегації. Наприклад, аналітик може порівнювати загальні річні продажі, а потім «спуститися» на рівень кварталів, щоб побачити динаміку продажів по кварталах.

OLAP надає зручну і красиву оболонку для навігації по багатовимірним даними. В рамках запропонованого інтерфейсу вводяться наступні базові операції:

  • поворот - транспонування, в результаті якого міняються місцями рядки і стовпчики таблиці;
  • проекція - агрегування значень в осередках, що лежать на осі проекції, за певним законом (підсумовування, знаходження середнього, визначення кількості непустих осередків та ін.);
  • розкриття, або деталізація (drill-down), - заміна одного з значень виміру сукупністю значень з наступного рівня ієрархії виміру;
  • згортка, або консолідація (roll-up / drill-up), - операція, зворотна розкриттю;
  • перетин (slice-and-dice) - отримання «зрізу» даних шляхом завдання параметрів їх вибірки з куба.

У загальному випадку алгоритм роботи OLAP включає в себе виконання наступних дій:

  • • отримання даних у вигляді плоскої таблиці або результату виконання SQL-запиту;
  • • збереження даних в оперативній пам'яті і перетворення їх до багатовимірного кубу;
  • • відображення побудованого куба за допомогою крос-таблиці або діаграми. У загальному випадку до одного кубу може бути підключено будь-яку кількість відображень.

Вперше визначення OLAP-технології було дано Е. Коддом в 1993 р [1] . Коддом були описані можливості багатовимірного аналізу і сформульовані 12 правил OLAP, до яких трохи пізніше (в 1995 г.) були додані ще кілька. Розглянемо їх докладніше.

  • 1. Багатомірне концептуальне уявлення даних (Multi- Dimensional Conceptual View). У продукті OLAP використовується багатовимірна модель представлення даних, при якій категоріальні атрибути даних розглядаються як вимірювання, а кількісні - як факти.
  • 2. Прозорість (Transparency). Від користувача повинно бути приховано, як реалізована багатовимірна модель, які конкретні засоби використовуються для зберігання і обробки даних, як дані організовані і звідки беруться.
  • 3. Доступність (Accessibility). Інструментарій OLAP повинен забезпечувати користувачеві доступ до даних незалежно від їх місця і способу зберігання. При цьому повинна підтримуватися єдина, узгоджена і цілісна модель даних.
  • 4. Стійка продуктивність (Consistent Reporting Performance). Повинна бути забезпечена висока продуктивність OLAP незалежно від кількості вимірювань багатовимірної моделі і розмірів бази даних.
  • 5. Клієнт-серверна архітектура (Client-Server Architecture). Для забезпечення оперативної аналітичної обробки розподілених даних OLAP-продукт повинен працювати на основі клієнт-серверної архітектури. Для узагальнення і консолідації даних з різних фізично розділених корпоративних баз даних інструмент повинен підтримувати побудову загальної концептуальної схеми даних.
  • 6. Рівноправність вимірювань (Generic Dimensionality). Для всіх вимірювань в багатовимірному кубі повинен бути доступний однаковий набір функцій. При необхідності будь-якого виміру можуть бути додані додаткові характеристики. Базова структура даних, формули розрахунку і формати звітів не повинні бути прив'язані до якогось одного виміру.
  • 7 . Динамічна обробка розріджених матриць (Dynamic Sparse Matrix Handling). Оскільки крос-таблиці, що формуються інструментом OLAP, часто бувають розрідженими, повинна забезпечуватися їх оптимальна обробка. Інструмент повинен забезпечувати високу швидкість обробки незалежно від розташування осередків даних, від кількості вимірювань в кубі і розрідженості даних.
  • 8. Підтримка розрахованого на багато користувачів режиму (Multi-User Support). Інструмент OLAP повинен дозволяти працювати з одними і тими ж даними одночасно декільком користувачам і забезпечувати при цьому цілісність і захист даних.
  • 9. Необмежена підтримка кроссмерних операцій (Unrestricted Crossdimensional Operations). При виконанні маніпуляцій даними (операцій зрізу, повороту, консолідації, деталізації) має забезпечуватися збереження функціональних відносин між осередками багатовимірного куба, описаних за допомогою формул. Перетворення встановлених відносин повинні виконуватися системою самостійно, без необхідності їх перевизначення користувачем.
  • 10. Інтуїтивне маніпулювання даними (Intuitive Data Manipulation). Інтерфейс для виконання маніпуляцій даними повинен бути максимально зручним, природним і комфортним.

І. Гнучкий механізм формування звітів (Flexible Reporting). Інструментом OLAP повинні підтримуватися різні способи візуалізації даних (таблиці, графіки, карти) в будь-якій можливій орієнтації.

12. Необмежена кількість вимірювань і рівнів агрегації (Unlimited Dimensions and Aggregation Levels). OLAP-інструмент повинен підтримувати аналітичну модель даних, в якій може міститися до 20 вимірювань. При цьому інструмент повинен дозволяти користувачеві визначати для кожного вимірювання необмежену кількість рівнів агрегації з будь-якого напрямку консолідації.

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

Для визначення OLAP як аналітичного інструменту в якості універсального критерію використовується тест FASMI (Fast Analysis of Shared Multidimensional Information - швидкий аналіз розділяється багатовимірної інформації). Розглянемо детально кожну зі складових цієї абревіатури.

Fast (швидкий). Запити користувачів повинні оброблятися OLAP- системою з високою швидкістю, при цьому середній час обробки запиту не повинно перевищувати 5 с, більшість запитів повинно оброблятися в межах 1 с, найскладніші запити, що вимагають великих обчислень, повинні оброблятися не більше 20 с.

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

Shared (розподілений доступ). OLAP-інструмент повинен забезпечувати роботу в розрахованому на багато користувачів режимі.

Multidimensional (багатовимірний). OLAP-додаток повинен забезпечувати багатовимірне представлення даних з підтримкою ієрархічних вимірів.

Information (інформація). OLAP-інструмент повинен надавати доступ користувачу до інформації незалежно від того, в якому електронному сховищі даних вона знаходиться.

Залежно від відповіді на питання, чи існує багатовимірний куб як окрема фізична структура або лише як віртуальна модель даних, розрізняють системи MOLAP (Multidimensional OLAP) і ROLAP (Relational OLAP). У MOLAP реалізується багатовимірне представлення даних на фізичному рівні у вигляді багатовимірних кубів. Системи ROLAP використовують класичну реляційну модель, характерну для OLTP-систем. При цьому дані зберігаються в реляційних таблицях, але спеціальні структури емулюють їх багатовимірне уявлення. Також виділяють гібридні OLAP (HOLAP - Hybrid OLAP), в яких деталізовані дані зберігаються в реляційних таблицях, а агреговані дані - в багатовимірних кубах. Така комбінація реляційної і багатовимірної моделей дозволяє поєднувати високу продуктивність, характерну для багатовимірної моделі, і можливість зберігати скільки завгодно великі масиви даних, властиву реляційної моделі.

  • [1] Codd Е. Providing OLAP to User-Analysts: An IT Mandate // Computerworld. 1993. T. 27.№30.
 
Переглянути оригінал
< Попер   ЗМІСТ   ОРИГІНАЛ   Наст >