4.5. Багатомірна модель даних
Багатомірний підхід до представлення даних у базі з'явився практично одночасно з реляційним. Але реально працюючих багатомірних СУБД (БСУБД) дотепер було мало. Із середини 90-х років інтерес до них став зростати. Багатомірні системи дозволяють оперативно обробляти інформацію для проведення аналізу й ухвалення рішень. Їх зручно використовувати для створення баз знань інтелектуальних систем.
У розвитку концепцій ІС можна виділити два напрямки:
системи оперативної (транзакційної) обробки;
системи аналітичної обробки (системи підтримки прийняття рішень).
Реляційні СУБД призначені для інформаційних систем оперативної обробки інформації, де вони дуже ефективні. У системах аналітичної обробки вони показали себе неповороткими і недостатньо гнучкими. Більш ефективними тут виявляються багатомірні СУБД.
Багатомірні СУБД є вузькоспеціалізованими СУБД, які призначенні для інтерактивної аналітичної обробки інформації. Основні поняття, використовувані в цих СУБД: агрегируємість, історичність і прогностичність даних.
Агрегируємість даних означає розгляд інформації на різних рівнях її узагальнення. У ІС ступінь детальності представлення інформації для користувача залежить від його рівня: аналітик, користувач-оператор, управлінець, керівник.
Історичність даних припускає забезпечення високого рівня статичності (незмінності) даних і їхніх взаємозв'язків, а також обов'язковість прив'язки даних до часу.
Статичність даних дозволяє використовувати при їхній обробці спеціалізовані методи завантаження, збереження, індексації і вибірки.
Тимчасова прив'язка даних необхідна для частого виконання запитів, що мають значення часу і дати в складі вибірки. Необхідність упорядкування даних за часом у процесі обробки і представлення даних користувачу накладає вимоги на механізми збереження і доступу до інформації. Так, для зменшення часу обробки запитів бажано, щоб дані завжди були відсортовані у тому порядку, у якому вони найбільш часто запитуються.
Прогностичність даних має на увазі завдання функцій прогнозування і застосування їх до різних тимчасових інтервалів. Багатомірність моделі даних означає не багатомірність візуалізації цифрових даних, а багатомірне логічне представлення структури інформації при опису й в операціях маніпулювання даними.
У порівнянні з реляційною моделлю багатомірна організація даних має більш високу наочність й інформативність. Для ілюстрації на рис. 4.7 і 4.8 приведені реляційне і багатомірне представлення однакових даних про обсяги продажів автомобілів.
Якщо мова йде про багатомірну модель з мірністю більше двох, то не обов'язково візуально інформація представляється у виді багатомірних об'єктів (трьох -, чотирьох - і більш мірних гіперкубів). Користувачу й у цих випадках більш зручно мати справу з двомірними таблицями чи графіками. Дані при цьому являють собою "вирізки" (точніше, "зрізи") з багатомірного сховища даних, виконані з різним ступенем деталізації.
Основні поняття багатомірних моделей даних: вимір і осередок.
Вимір (Dimension) - це безліч однотипних даних, утворюючих одну з граней гіперкуба. Прикладами найбільш часто використовуваних тимчасових вимірів є Дні, Місяці, Квартали і Роки. Як географічні виміри вживають Міста, Райони, Регіони і країни. У багатомірній моделі дані виміри відіграють роль індексів, що служать для ідентифікації значень в осередках гіперкуба.
Осередок (Cell) чи показник - це поле, значення якого однозначно визначається фіксованим набором вимірів. У прикладі на рис. 3.8 кожне значення осередку Обсяг продаж однозначно визначається комбінацією тимчасового виміру (Місяць продаж) і моделі автомобіля. На практиці звичайно потрібно більша кількість вимірів. Приклад тривимірної моделі даних приведений на рис. 4.8.
В існуючих БСУБД використовуються дві основні схеми організації даних: гіперкубічна і полікубічна.
У
полікубічній схемі в БД може бути
визначено кілька гіперкубів з різною
розмірністю і з різними вимірами як
грані. Наприклад, така схема використовується
в сервері Oracle Express Server.
У гіперкубічній схемі всі показники визначаються однаковим набором вимірів. Це означає, що при наявності декількох гіперкубів БД усі вони мають однакову розмірність і співпадаючі виміри. Якщо потрібно обов’язкове заповнення, осередків інформація в БД може бути надлишковою.
У багатомірній моделі даних застосовується ряд спеціальних операцій, до яких відносяться: формування "зрізу", "обертання", агрегація і деталізація.
Зріз (Slice) являє собою підмножину гіперкуба, що отримано в результаті фіксації одного чи декількох вимірів. Формування "зрізів" виконується для обмеження використовуваних користувачем значень, тому що всі значення гіперкуба практично ніколи одночасно не використовуються. Наприклад, якщо обмежити значення виміру Модель автомобіля в гіперкубі (рис. 4.8) маркою "Лада", то вийде двомірна таблиця продаж цієї марки автомобіля різними менеджерами по місяцях.
Операція обертання (Rotate) застосовується при двомірному представленні даних. Суть її полягає в зміні порядку вимірів при візуальному представленні даних. Так, "обертання" двовимірної таблиці, показаної на рис. 4.7, приведе до зміни її виду таким чином, що по осі Х буде марка автомобіля, а по осі У - час.
Операцію "обертання" можна узагальнити і на багатомірний випадок, якщо під нею розуміти процедуру зміни порядку проходження вимірів. У найпростішому випадку, наприклад, це може бути взаємна перестановка двох довільних вимірів.
Операція "агрегація" (Drill Up) і "деталізація" (Drill Down) означають відповідно перехід до більш загального і до більш детального представлення інформації користувачу з гіперкуба.
Для ілюстрації змісту операції агрегація припустимо, що гіперкуб на рис. 4.8 має ще додаткові виміри: Підрозділ, Регіон, Фірма. Країна. У цьому випадку в гіперкубі існує ієрархія (знизу нагору) відносин між вимірами: Менеджер, Підрозділ, Фірма, Регіон, Країна.
Нехай у цьому гіперкубі визначено, наскільки успішно в червні менеджер Биков продавав автомобілі "Таврія" і "Газель" Тоді, піднімаючись на рівень вище по ієрархії, за допомогою операції "агрегація" можна з'ясувати, як виглядає співвідношення продажів цих же моделей на рівні підрозділу, де працює Биков.
Основним достоїнством багатомірної моделі даних є зручність і ефективність обробки великих обсягів даних, зв'язаних часом. При організації обробки аналогічних даних на основі реляційної моделі відбувається нелінійний ріст трудомісткості операцій у залежності від розмірності БД і істотне збільшення витрат оперативної пам'яті на індексацію.
Недоліком багатомірної моделі даних є її громіздкість для найпростіших задач звичайної оперативної обробки інформації.
Системи, що підтримують багатомірні моделі даних: Essbase (Arbor Software), Media Multі-marіx (Speedware), Oracle Express, Server (Oracle). Деякі програми, наприклад Medіa/MR (Speedware), дозволяють одночасно працювати з багатомірними і з реляційними БД. У СУБД Cache, у якій внутрішньою моделлю даних є багатомірна модель, реалізовані три способи доступу до даних: прямий (на рівні вузлів багатомірних масивів), об'єктний і реляційний.
