Вступ
Важко знайти в комп'ютерному світі людини, яка хоча б на інтуїтивному рівні не розумів, що таке бази даних і навіщо вони потрібні. На відміну від традиційних реляційних СУБД, концепція OLAP не так широко відома, хоча загадковий термін "куби OLAP" чули, напевно, майже все. Що ж таке OnLine Analytical Processing?
OLAP - це не окремо взятий програмний продукт, не мова програмування і навіть не конкретна технологія. Якщо постаратися охопити OLAP у всіх його проявах, то це сукупність концепцій, принципів і вимог, що лежать в основі програмних продуктів, що полегшують аналітикам доступ до даних. Незважаючи на те, що з таким визначенням навряд хтось не погодиться, сумнівно, щоб воно хоч на йоту наблизило неспеціалістів до розуміння предмета. Тому в своєму прагненні до пізнання OLAP краще йти іншим шляхом. Для початку треба з'ясувати, навіщо аналітикам треба якось спеціально полегшувати доступ до даних.
Справа в тому, що аналітики - це особливі споживачі корпоративної інформації. Завдання аналітика - знаходити закономірності у великих масивах даних. Тому аналітик не буде звертати уваги на окремо взятий факт, йому потрібна інформація про сотні й тисячі подій. До речі, один із суттєвих моментів, який прівелл до появи OLAP - продуктивність і ефективність. Уявімо собі, що відбувається, коли аналітику необхідно отримати інформацію, а кошти OLAP на підприємстві відсутні.
Універсальні критерії визначення OLAP.Тепер, коли ми трохи розібралися в тому, як працює і для чого служить OLAP, варто, все ж, кілька формалізувати наші знання і дати критерії OLAP вже без синхронного перекладу на звичайний людський мову. Ці критерії (всього числом 12) були сформульовані в 1993 році Е.Ф. Коддом - творцем концепції реляційних СУБД і, за сумісництвом, OLAP. Безпосередньо їх ми розглядати не будемо, оскільки пізніше вони були перероблені в так званий тест FASMI, який визначає вимоги до продуктів OLAP. FASMI - це абревіатура від назви кожного пункту тесту:
- Fast (швидкий). Ця властивість означає, що система повинна забезпечувати відповідь на запит користувача в середньому за п'ять секунд; при цьому більшість запитів обробляються в межах однієї секунди, а найскладніші запити повинні оброблятися в межах двадцяти секунд. Недавні дослідження показали, що користувач починає сумніватися в успішності запиту, якщо він займає більше тридцяти секунд.
- Analysis (аналітичний). Система повинна справлятися з будь-яким логічним і статистичним аналізом, характерним для бізнес-додатків, і забезпечує збереження результатів у вигляді, доступному для кінцевого користувача. Засоби аналізу можуть включати процедури аналізу часових рядів, розподілу витрат, конверсії валют, моделювання змін організаційних структур та деякі інші.
- Shared (поділюваний). Система повинна надавати широкі можливості розмежування доступу до даних і одночасної роботи багатьох користувачів.
- Multidimensional (багатовимірний). Система повинна забезпечувати концептуально багатовимірне представлення даних, включаючи повну підтримку множинних ієрархій.
- Information (інформація). Потужність різних програмних продуктів характеризується кількістю оброблюваних вхідних даних. Різні OLAP-системи мають різну потужність: передові OLAP-рішення можуть оперувати, принаймні, в тисячу разів більшою кількістю даних в порівнянні з самими малопотужними. При виборі OLAP-інструменту слід враховувати цілий ряд факторів, включаючи дублювання даних, необхідну оперативну пам'ять, використання дискового простору, експлуатаційні показники, інтеграцію з інформаційними сховищами і т.п.
Класифікація OLAP-продуктів.Отже, суть OLAP полягає в тому, що вихідна для аналізу інформація представляється у вигляді багатомірного куба, і забезпечується можливість довільно маніпулювати нею і отримувати потрібні інформаційні розрізи - звіти. При цьому кінцевий користувач бачить куб як багатовимірну динамічну таблицю, яка автоматично підсумовує дані (факти) в різних розрізах (вимірах), і дозволяє інтерактивно керувати обчисленнями і формою звіту. Виконання цих операцій забезпечується OLAP-машиною (або машиною OLAP-обчислень).
На сьогоднішній день в світі розроблено безліч продуктів, що реалізують OLAP-технології. Щоб легше було орієнтуватися серед них, використовують класифікації OLAP-продуктів: за способом зберігання даних для аналізу і за місцем знаходження OLAP-машини. Розглянемо докладніше кожну категорію OLAP-продуктів.
- У серверних OLAP-засобах обчислення і зберігання агрегатних даних виконуються окремим процесом - сервером. Клієнтський додаток отримує тільки результати запитів до багатовимірним кубах, які зберігаються на сервері. Деякі OLAP-сервери підтримують зберігання даних тільки в реляційних базах, деякі - тільки в багатовимірних. Багато сучасні OLAP-сервери підтримують всі три способи зберігання даних: MOLAP, ROLAP HOLAP.
- OLAP-клієнт влаштований по-іншому. Побудова багатовимірного куба і OLAP-обчислення виконуються в пам'яті комп'ютера клієнта. OLAP-клієнти також діляться на ROLAP і MOLAP. А деякі можуть підтримувати обидва варіанти доступу до даних.У кожного з цих підходів, є свої "плюси" і "мінуси". Всупереч поширеній думці про переваги серверних засобів перед клієнтськими, в цілому ряді випадків застосування OLAP-клієнта для користувачів може виявитися ефективніше і вигідніше використання OLAP-сервера.
Принципи роботи OLAP-клієнтів.Розробка аналітичних додатків за допомогою клієнтських OLAP-засобів - процес швидкий і не вимагає спеціальної підготовки виконавця. Користувач, що знає фізичну реалізацію бази даних, може розробити аналітичне додаток самостійно, без залучення ІТ-спеціаліста.
При використанні OLAP-сервера необхідно вивчити 2 різні системи, іноді від різних постачальників, - для створення кубів на сервері, і для розробки клієнтського додатку. OLAP-клієнт надає єдиний візуальний інтерфейс для опису кубів і налаштування до них користувацьких інтерфейсів.
Розглянемо процес створення OLAP-додатки за допомогою клієнтського інструментального засобу.
Принцип роботи ROLAP-клієнтів - попередній опис семантичного шару, за яким ховається фізична структура вихідних даних. При цьому джерелами даних можуть бути: локальні таблиці, РСУБД. Список підтримуваних джерел даних визначається конкретним програмним продуктом. Після цього користувач може самостійно маніпулювати зрозумілими йому об'єктами в термінах предметної області для створення кубів і аналітичних інтерфейсів.
Принцип роботи клієнта OLAP-сервера іншої. У OLAP-сервері при створенні кубів користувач маніпулює фізичними описами БД.
При цьому в самому кубі створюються користувальницькі опису. Клієнт OLAP-сервера налаштовується тільки на куб.
Пояснимо принцип роботи ROLAP-клієнта на прикладі створення динамічного звіту про продажі (див. схему 2). Нехай вихідні дані для аналізу зберігаються у двох таблицях: Sales і Deal.
При створенні семантичного шару джерела даних - таблиці Sales і Deal - описуються зрозумілими кінцевому користувачеві термінами і перетворюються в "Продукти" і "Угоди". Поле "ID" з таблиці "Продукти" перейменовується в "Код", а "Name" - в "Товар" і т.д.
Потім створюється бізнес-об'єкт "Продажі". Бізнес-об'єкт - це плоска таблиця, на основі якої формується багатовимірний куб. При створенні бізнес-об'єкта таблиці "Продукти" і "Угоди" об'єднуються по полю "Код" товару. Оскільки для відображення в звіті не будуть потрібні всі поля таблиць - бізнес-об'єкт використовує тільки поля "Товар", "Дата" та "Сума".
Далі на базі бізнес-об'єкта створюється OLAP-звіт. Користувач вибирає бізнес-об'єкт і перетягує його атрибути в області колонок або рядків таблиці звіту.
Висновок.Отже, у яких випадках застосування OLAP-клієнта для користувачів може виявитися ефективніше і вигідніше використання OLAP-сервера?
- Економічна доцільність застосування OLAP-сервера виникає, коли обсяги даних дуже великі і непосильні для OLAP-клієнта, інакше більш виправдане застосування останнього. У цьому випадку OLAP-клієнт поєднує в собі високі характеристики продуктивності і низьку вартість.
- Потужні ПК аналітиків - ще один аргумент на користь OLAP-клієнтів. При застосуванні OLAP-сервера ці потужності не використовуються. Серед переваг OLAP-клієнтів можна також назвати наступне:
- Витрати на впровадження та супровід OLAP-клієнта істотно нижче, ніж витрати на OLAP-сервер.
- При використанні OLAP-клієнта з вмонтованою машиною передача даних по мережі проводиться один раз. При виконанні OLAP-операцій нових потоків даних не породжується.
- Настройка ROLAP-клієнтів спрощена за рахунок виключення проміжної ланки - створення багатовимірної бази.
Список літератури:
1.A Review on OLAP Technologies Applied to Information Networks.
2.A Comprehensive Survey of OLAP: Recent Trends.
3.Micro-architectural analysis of OLAP: limitations and opportunities.
4.Online Analytical Processing (OLAP) for Decision Support.
5.OLAP over Big COVID-19 Data: A Real-Life Case Study.
6.OLAP and bibliographic databases.
7.The Application of OLAP and Web Technology in the Evaluation of College Education Quality.
8.Research on the Use of OLAP Technologies in Management Tasks.
__________________________________________________________________
Науковий керівник: Вовк Олена Борисівна, кандидат технічних наук, доцент, Національний університет «Львівська Політехніка»
|