ROLAP

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

ROLAP (англ. relational online analytical processing, реляційна аналітична обробка в реальному часі) ― OLAP-системи, які мають прямий доступ до існуючих БД або використовують дані, завантажені у власні локальні таблиці.

Загальні відомісті [1][ред.ред. код]

Аналітичні запити в реляційній базі даних

Аналітичні запити в ROLAP виконуються над віртуальним багатовимірним представленням даних, а їх виконання відбувається на рівні реляційної БД, тобто виконуються [SQL]-запити над реляційною системою.

Основними складовими архітектури БД є таблиця фактів (fact table) і таблиці вимірів (dimension tables). Таблиця фактів є основною таблицею БД. У ній зазвичай містяться відомості про об'єкти або події, сукупність яких буде піддана аналізу. Таблиці вимірювань містять постійні або рідко змінювані дані. Вони містять як мінімум одне описове поле і цілочисельне ключове поле для однозначної ідентифікації вимірюваної величини. Таблиця вимірів обов'язково повинна знаходитися у відношенні «один до багатьох» з таблицею фактів. Якщо кожний вимір знаходиться в одній таблиці вимірювань, то така схема називається «зірка» (star schema). Якщо ж хоча б один з вимірів знаходиться в декількох взаємопов'язаних таблицях, то така схема побудови називається «сніжинка» (snowflake schema).

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

Умови використання [1][ред.ред. код]

Якщо багатовимірна модель реалізується у вигляді реляційної БД, необхідно її представляти як довгі і «вузькі» таблиці фактів і порівняно невеликі і «широкі» таблиці вимірювань. Таблиці фактів містять числові значення комірок гіперкуба, а інші таблиці визначають вмістимість в них багатовимірної сукупності вимірювань. Частину інформації можна отримувати за допомогою динамічної агрегації даних, розподілених за нормалізованими структурами, що відрізняється за своєю архітектурою від «зірки», але в цьому випадку запити, що включають агрегацію при високонормалізованій структурі БД можуть виконуватися досить повільно. Подання багатовимірної інформації за допомогою зіркоподібних реляційних моделей усуває проблему оптимізації зберігання розріджених матриць, що гостро стоїть перед багатовимірними СУБД, в яких проблема розрідженості вирішується спеціальним вибором схеми. Хоча для зберігання кожної комірки використовується один запис, що включає, окрім самих значень, вторинні ключі ― посилання на таблиці вимірів, неіснуючі значення просто не включаються в таблицю фактів.

ROLAP та MOLAP [2][ред.ред. код]

ROLAP є альтернативою технології MOLAP (багатовимірна OLAP). Хоча обидві технології, ROLAP і MOLAP, є аналітичними інструментами, призначеними для аналізу даних за допомогою багатовимірної моделі даних, однак істотною відмінністю ROLAP є те, що вона не вимагає попереднього обчислення і зберігання інформації. Замість цього, ROLAP-інструменти надають доступ до даних реляційної бази даних та генерують SQL-запити для надання інформації на відповідному рівні за запитом користувача.

Обговорення переваг і недоліків ROLAP, загалом зосереджується на тих речах, які відноситься до найбільш широко використовуваних ROLAP і MOLAP інструментів, доступних сьогодні. У деяких випадках будуть інструменти, які є виключеннями для будь-яких зроблених узагальнень.

Переваги ROLAP[ред.ред. код]

  • ROLAP вважається більш масштабованою для обробки великих обсягів даних, особливо для моделей дуже великої розмірності (тобто з мільйонами елементів).
  • Завдяки різноманітності доступних інструментів для завантаження даних, а також можливості для точного налаштування ETL коду для конкретної моделі даних, час завантаження даних, як правило, є набагато меншим, ніж у MOLAP-системах.
  • Дані зберігаються в стандартній реляційній БД і доступ до них можна отримати, використовуючи будь-який SQL-інструмент створення звітності (окрім OLAP-інструментів).
  • ROLAP-інструменти краще обробляють непоєднувані факти (наприклад, текстові описи). В MOLAP-інструментах, як правило, знижується швидкодія про подібній обробці.
  • При змінній розмірності задачі, коли зміни в структуру вимірювань вносяться досить часто, ROLAP-системи з динамічним представленням розмірності постають найкращим рішенням, оскільки в них такі маніпуляції не вимагають фізичної реорганізації БД.
  • ROLAP-системи можуть використовувати елементи управління авторизацією БД, такі як безпека на рівні рядка, в результаті чого результати запиту фільтруються в залежності від заданих критеріїв, що встановлюються, наприклад, для певного користувача чи групи користувачів (оператор SQL WHERE).

Недоліки ROLAP[ред.ред. код]

  • Існує твердження, що ROLAP-інструменти мають меншу продуктивність, ніж MOLAP.
  • Завантаження зведених таблиць повинно управлятися користувацьким ETL кодом. ROLAP-інструменти не допомагають у вирішенні цього завдання, що передбачає витрачання більше часу на розробку і більше коду для підтримки даної функції.
  • Якщо пропустити етап створення зведених таблиць, то продуктивність запитів страждатиме через звернення даних запитів до більш деталізованих таблиць. Це можна частково вирішити долученням додаткових зведених таблиць, однак як і раніше є недоцільним створення таких таблиць для всіх комбінацій розмірності/атрибути.
  • ROLAP-інструменти покладаються на БД загального призначення для запитів і кешування, отже, кілька спеціальних методів, що використовуються в MOLAP-інструментах, єне доступними (наприклад, спеціалізована ієрархічна індексація). Тим не менш, сучасні ROLAP-інструменти використовують останні поліпшення в мові SQL, такі як CUBE і ROLLUP оператори, DB2 Cube Views, а також інші SQL розширення OLAP. Ці вдосконалення SQL можуть частково усунути даний недолік.
  • Оскільки ROLAP-інструменти використовують SQL для всіх обчислень, то вони не придатні для моделей, де необхідно робити складні обчислення, які неможливо здійснити завдяки SQL. Прикладами таких моделей є бюджетування, фінансова звітність та інші.

Продуктивність ROLAP[ред.ред. код]

Огляд ринку OLAP[ред.ред. код]

В OLAP галузі технологія ROLAP зазвичай сприймається як можливість масштабування для великих обсягів даних, проте страждає від меншої швидкодії запиту порівняно з використанням MOLAP-системам. Огляд ринку OLAP, найбільше незалежне опитування щодо всіх основних продуктів OLAP, серед усіх, що проводилися протягом 6 років (2001―2006), виявив, що компанії, які використовують технологію ROLAP зазначають зниження продуктивності в порівнянні з використанням MOLAP, навіть беручи до уваги обсяги даних.

Однак, як і в будь-якому іншому огляді, тут існує багато тонких проблем, які необхідно взяти до уваги при інтерпретації результатів:

  • Огляд показав, що ROLAP-інструменти використовують у 7 разів більше користувачів всередині кожної компанії, ніж MOLAP-інструменти. Системи з великою кількістю користувачів, як правило, мають більше проблем з продуктивністю в час-пік їхнього використання.
  • Існує також питання про складність моделі, виміряної в кількості розмірностей і в складності обрахунків. Огляд не надає необхідних даних для контролю для цих змін в аналізованих даних.

Нижня сторона гнучкості[ред.ред. код]

Деякі компанії обирають ROLAP тому, що вони мають намір повторно використовувати існуючі таблиці реляційної БД ― ці таблиці часто не оптимально розроблені для використання OLAP. Переважаюча гнучкість ROLAP-інструментів дозволяє такому не оптимальному використанню працювати, проте від цього страждає продуктивність. MOLAP-інструменти натомість перезавантажить дані в оптимальну конструкцію OLAP.

Тенденції[ред.ред. код]

Небажаний компроміс між додатковою вартістю ETL і малою швидкодією запитів призвів до того, що більшість комерційних OLAP-інструментів тепер використовують «гібридний OLAP» (HOLAP) підхід, який дозволяє проектувальнику моделі вирішувати, яка частина даних буде зберігатися в MOLAP, яка ― в ROLAP.

Програмні продукти[ред.ред. код]

Комерційними продуктами, що використовують ROLAP є Microsoft Analysis Services, MicroStrategy, SAP Business Objects, Oracle Business Intelligence Suite Enterprise Edition (колишній Siebel Analytics) і Tableau Software. Існує також відкритий ROLAP-сервер ― Mondrian.

Дивись також[ред.ред. код]

Посилання[ред.ред. код]

  1. а б Введение в OLAP: часть 2. Хранилища данных // КомпьютерПресс. — (5'2001).
  2. Multidimensional Database Technology // Distributed Systems Online. — (December 2001) С. 40–46.

Література[ред.ред. код]

  • Лабоцкий В. В. Управление знаниями: технологии, методы и средства представления, извлечения и измерения знаний. — Минск: БГЭУ, 2006.
  • Альперович М. Технологии хранения и обработки корпоративных данных (Data Warehousing, OLAP, Data Mining).
  • Щавелев Л. В. Способы аналитической обработки данных для поддержки принятия решений. // СУБД, 1998, №4-5.