- •1 Olap: що це і для чого
- •2 Універсальні критерії визначення olap
- •1 Класифікація olap-продуктів
- •2 Olap-клієнт - olap-сервер: "за" і "проти"
- •2.1 Обсяг оброблюваних даних
- •2.2 Продуктивність системи
- •2.3 Організація архітектур з прямим доступом до первинних даних
- •2.4 Потужність пк користувачів
- •2.5 Мережевий трафік
- •2.6 Витрати на впровадження та супровід
- •2.7 Принципи роботи olap-клієнтів
- •2.8 Висновок
- •3 Ядро olap системи
- •3.1 Принципи побудови.
- •3.1.1 Крос-таблиця.
- •3.1.2 Підготовка даних
- •3.1.3Бібліотека компонентів CubeBase
- •3.2 Усередині гіперкуба
- •3.2.1 Завантаження даних в гіперкуб
- •3.2.2 Реалізація гіперкуба
- •3.3 Побудова зрізів куба
- •3.4 Реалізації olap
- •3.4.1 Добре відомі olap-продукти
- •3.4.2 Deductor
МІСТ
ВСТУП
1 OLAP: що це і для чого ........................................................ 7
2 Універсальні критерії визначення OLAP .............................. 9
ОСНОВНА ЧАСТИНА
1 Класифікація OLAP-продуктів ............................................ 11
2 OLAP-клієнт - OLAP-сервер: "за" і "проти" ............................ 13
2.1 Обсяг оброблюваних даних ........................................ 13
2.2 Продуктивність системи ........................................... 14
2.3 Організація архітектур з прямим доступом до первинних даних ............................................................................ 16
2.4 Потужність ПК користувачів ............................................ 17
2.5 Мережевий трафік ............................................................. 18
2.6 Витрати на впровадження та супровід ............................... 18
2.7 Принципи роботи OLAP-клієнтів .................................... 19
2.8 Висновок .................................................................. 21
3 Ядро OLAP системи ............................................................ 22
3.1 Принципи побудови ..................................................... 22
3.1.1 Крос-таблиця. ...................................................... 24
3.1.2 Підготовка даних .................................................. 26
3.1.3Бібліотека компонентів CubeBase .............................. 27
3.2 Усередині гіперкуба .......................................................... 28
3.2.1 Завантаження даних в гіперкуб ....................................... 28
3.2.2 Реалізація гіперкуба ............................................. 31
3.3 Побудова зрізів куба .................................................. 34
3.4 Реалізації OLAP ......................................................... 40
3.4.1 Добре відомі OLAP-продукти ........................... 40
3.4.2 Deductor ............................................................... 41
ВИСНОВОК ......................................................................... 44
СПИСОК ДЖЕРЕЛ ............................................................ 46
ВСТУП
1 Olap: що це і для чого
Важко знайти в комп'ютерному світі людини, яка хоча б на інтуїтивному рівні не розумів, що таке бази даних і навіщо вони потрібні. На відміну від традиційних реляційних СУБД, концепція OLAP не так широко відома, хоча загадковий термін "куби OLAP" чули, напевно, майже все. Що ж таке OnLine Analytical Processing?
OLAP - це не окремо взятий програмний продукт, не мова програмування і навіть не конкретна технологія. Якщо постаратися охопити OLAP у всіх його проявах, то це сукупність концепцій, принципів і вимог, що лежать в основі програмних продуктів, що полегшують аналітикам доступ до даних. Незважаючи на те, що з таким визначенням навряд хтось не погодиться, сумнівно, щоб воно хоч на йоту наблизило неспеціалістів до розуміння предмета. Тому в своєму прагненні до пізнання OLAP краще йти іншим шляхом. Для початку треба з'ясувати, навіщо аналітикам треба якось спеціально полегшувати доступ до даних.
Справа в тому, що аналітики - це особливі споживачі корпоративної інформації. Завдання аналітика - знаходити закономірності у великих масивах даних. Тому аналітик не буде звертати уваги на окремо взятий факт, йому потрібна інформація про сотні й тисячі подій. До речі, один із суттєвих моментів, який прівелл до появи OLAP - продуктивність і ефективність. Уявімо собі, що відбувається, коли аналітику необхідно отримати інформацію, а кошти OLAP на підприємстві відсутні. Аналітик самостійно (що малоймовірно) або за допомогою програміста робить відповідний SQL-запит і отримує цікавлять дані у вигляді звіту або експортує їх в електронну таблицю. Проблем при цьому виникає безліч. По-перше, аналітик змушений займатися не своєю роботою (SQL-програмуванням) або чекати, коли за нього завдання виконають програмісти - все це негативно позначається на продуктивності праці, підвищується інфарктного-інсультний рівень і так далі. По-друге, один-єдиний звіт або таблиця, як правило, не рятує гігантів думки і отців російського аналізу - і всю процедуру доведеться повторювати знову і знову. По-третє, як ми вже з'ясували, аналітики по дрібницях не питають - їм потрібно все і відразу. Це означає (хоча техніка і йде вперед семимильними кроками), що сервер корпоративної реляційної СУБД, до якого звертається аналітик, може задуматися глибоко й надовго, заблокувавши решту транзакції.
Концепція OLAP з'явилася саме для вирішення подібних проблем. Куби OLAP являють собою, по суті, мета-звіти. Розрізаючи мета-звіти (куби, тобто) за вимірюваннями, аналітик отримує, фактично, його цікавлять "звичайні" двовимірні звіти (це не обов'язково звіти в звичайному розумінні цього терміну - йдеться про структури даних з такими ж функціями). Переваги кубів очевидні - дані необхідно запросити із реляційної СУБД всього один раз - при побудові куба. Оскільки аналітики, як правило, не працюють з інформацією, яка доповнюється і змінюється "на льоту", сформований куб є актуальним протягом досить тривалого часу. Завдяки цьому, не тільки виключаються перебої в роботі сервера реляційної СУБД (немає запитів з тисячами і мільйонами рядків відповідей), але і різко підвищується швидкість доступу до даних для самого аналітика. Крім того, як вже зазначалося, продуктивність підвищується і за рахунок підрахунку проміжних сум ієрархій та інших агрегованих значень у момент побудови куба.
Звичайно, за підвищення таким способом продуктивності треба платити. Іноді кажуть, що структура даних просто "вибухає" - куб OLAP може займати в десятки і навіть сотні разів більше місця, ніж вихідні дані.
