OLAP без слова OLAP, Комп’ютерний огляд
Дистанція між тими, хто виконує якусь роботу і розповідає про виконання цієї самої роботи, завжди була чималою. З поширенням туманних абревіатур, перенесених у наші реалії улюбленим методом Ctrl-C/Ctrl-V, ситуація не покращала.
Чого дійсно не буде в цій статті – так це неблагозвучна для нашого вуха абревіатури OLAP. І, тим не менш, дочитавши її до кінця, ви не просто дізнаєтеся, що саме криється за цією абревіатурою, але отримаєте практично все необхідне для того, щоб вдома вдатися до практичних занять тим, що OLAP означає.
![]() |
| У Excel інтерфейс плагіна Palo з'являється у розділі меню Add-Ins. Програма багатомовна, постачається у тому числі і з українською локалізацією. |
Сам Найджел Пендз дає детальне тлумачення «швидкого аналізу багатовимірних даних із загальним доступом» – з точністю до кожного слова. "Швидкий" в даному випадку означає, що йдеться про секундні часові інтервали, що відокремлюють моменти ініціації користувачем запиту до системи та отримання результатів. Незважаючи на те, що в поясненнях Пендза є і фактично стандартне обґрунтування необхідності «швидкої» реакції системи (при затримках відповіді більше 30 с при 100% завантаженні процесора середньостатистичний користувач ініціює рестарт всього комп'ютера), куди більший інтерес представляє його зауваження про згубний вплив надмірно. «задумливої» реакції системи на процес міркувань аналітика, що працює з нею – тривалі паузи призводять до того, що його увага розсіюється і він втрачає нитку міркувань.
«Аналіз», незважаючи на ясність, також має досить чітке значення. Найджел Пендз говорить про придатність системи до вирішеннятрадиційних для бізнесу класів завдань, причому не лише на рівні здібностей «вшитого» програмного забезпечення, а поєднанні знань і умінь аналітика з підтримуваним системою мовою описи завдань надвисокого рівня. Надання можливості користувачеві швидко самостійно описувати спеціалізовані завдання - такі, які сторонній розробник ПЗ просто не міг поставити перед собою через неможливість знання всіх нюансів специфіки своїх потенційних замовників, - і отримувати їх рішення, на думку Пендза, є виключно важливою властивістю «аналітичної» складової FASMI .
«Багатомірність» – через те, що у всьому наступному матеріалі це поняття є ключовим, воно потребує дещо несподіваного відступу.
![]() |
![]() |
| Конструктор гіперкуба Palo |
Власне кажучи, ми щойно в неявній формі дали досить виразне тлумачення поняття «багатомірності» щодо даних FASMI – їхній простір має характеризуватись такою кількістю вимірювань, яка дозволяє точно описати всі можливі об'єкти.
Окрім достатньої точності та зрозумілості, подібне пояснення «багатомірності даних» має ще одну гідність: воно позбавляє нас від всіляких «єресей», наприклад, від спроб диференціації різних систем на основі механізмів зберігання даних. Адже справді зовсім не важливо, як і де фізично вони зберігаються (хоча в одному текстовому рядку величезної довжини) – істотною залишається лише достатня для опису будь-якого об'єкта кількість вимірювань.
Словосполучення «загальний доступ», що входить до складу визначення FASMI, вигідно відрізняється від раніше розглянутих слів своєю «незаїждженістю». Присутністю у визначенні воно завдячує невблаганним вимогамреальності – над великими обсягами даних можуть (і повинні) працювати багато фахівців одночасно. Тому підтримка всіх необхідних механізмів публічного доступу у FASMI-системах має бути реалізована повною мірою.
І, нарешті, «інформація». Тут через специфіку видання ми не повторюватимемо багатослівність оригінального тлумачення Найджела Пендза, обмежимося лише очевидним – багатомірність зовсім не зобов'язує використовувати будь-яку інформацію, яку можна отримати. І оскільки виробника автомобільних камер дуже рідко цікавить сумарний об'єм у літрах випущеної ним продукції, немає жодного особливого сенсу створювати для вирішення такого завдання додатковий вимір.
Ось, власне, і все необхідне для "складання" в єдине ціле поняття FASMI - "швидкого аналізу багатовимірних даних із загальним доступом". При цьому деякі відомості, можна сказати, були навіть у якомусь сенсі «надмірні», що дозволяє відразу перейти до страшно іменованих, але гранично простих речей. Так, наприклад, безліч вимірів (тобто безліч множин), що характеризує деякий абстрактний простір, об'єкти якого ми хочемо вивчати, прийнято відображати не математичною конструкцією типу A =; B =;. а чомусь часто званою в українськомовних ресурсах «схемою зірки» (star scheme, очевидно, що куди доречніше було б говорити «зіркоподібна схема»). При цьому і без того не дуже вдалий термін "схема зірки" використовується не так на концептуальному рівні, як взагалі "прив'язується" до специфіки побудови систем FASMI на основі реляційних баз даних.
Втім, ми вже знаємо більш ніж достатньо для того, щоб перейти до практики.
Отже, будемо вважати, що Palo ви вже завантажили з сайту компанії Jedox www.jedox.com - для початку вам знадобиться дистрибутив,що включає і клієнт, і сервер, а також посібник з експлуатації, що розповсюджується окремо (Evaluation gu >
![]() |
![]() |
| Агреговані елеменети можна відображати як пари "множина-підмножина", так і у вигляді ієрархій |
Тепер, повертаючись до короткого знайомства з компанією Jedox, ми можемо зрозуміти, що мали на увазі її фахівці, говорячи про «електронну таблицю масштабу підприємства»: таку комбінацію звичайної електронної таблиці та MOLAP-сервера баз даних, яка дозволяє за допомогою звичного та добре вивченого інструменту вирішувати якісно нові завдання
Перша фундаментальна відмінність Palo від будь-якої «традиційної» СУБД криється в характеристиках атомарного типу даних, який можна «витягти» із цих систем однією операцією. Наприклад, у реляційних СУБД таким типом вважатимуться запис – безліч полів, кожне у тому числі характеризується своїм типом даних. У Palo ж атомарний тип повністю відповідає принципу побудови електронної таблиці – це комірка (cell), т. е. результатом запиту до сервера Palo є значення комірки.
![]() |
| Функції доступу до гіперкубу Palo відрізняються від вбудованих функцій Excel хіба що іменами |
'ім'я сервера', 'ім'я гіперкуба', 'елемент множини вимір1', . 'елемент множини вимір N'
"Швидкострільність" зв'язки клієнт-сервер Palo, необхідну для того, щоб можна було говорити про повноцінно швидку (в трактуванні Найджела Пендза) FASMI-систему, забезпечує її здатність виконувати операції тільки над гіперкубом, що знаходиться в оперативній пам'яті комп'ютера. Доступ клієнта до сервера здійснюється за допомогою стандартного HTTP-протоколу (розробниками прийнято за замовчуванням порт 7777, але вналаштуваннях це можна змінити), що дозволяє, наприклад, працювати з гіперкубом зі скриптів і нескладних програм (зокрема, на VisualBasic) без використання електронної таблиці (у деяких випадках це може бути корисно для завантаження даних, які отримуються від нетривіальних джерел і навіть для поповнення вмісту гіперкуба в реальному часі). Чи варто вважати принципову можливість роботи Palo тільки з гіперкубом, що знаходиться в оперативній пам'яті, недоліком - питання, відповідь на яке залежить від багатьох факторів. Слід враховувати, що з версії 1.5 з'явилася можливість використовувати 64-бітовий Palo-сервер, що вартість модулів оперативної пам'яті вже далеко не така «страшна», і нарешті, що MOLAP-системи характеризуються дуже ефективним використанням пам'яті.
Без можливості завантаження гіперкуба інформацією від сторонніх, «традиційних» баз даних, Palo була просто навчально-розважальною системою. До складу дистрибутива входить досить розвинена підсистема ODBC-імпорту з можливістю завдання користувачем власних запитових процедур, і потужні механізми імпорту даних зі сторінок електронної таблиці. Тим, хто збирається всерйоз зайнятися багатовимірним аналізом даних за допомогою Palo, непотрібними будуть відомості про сторонні розробки – наприклад, про плагін www.3a-strategy.com/public_files/kettle/ також відкриту (ліцензія GPL) і безкоштовну систему Kettle (kettle). pentaho.org), призначеному для більш ніж суттєвого прискорення процедур імпорту даних.
І, нарешті, останнє. Природно, Palo має повноцінні API для розробки клієнтських додатків мовами С, Java, всіх підтримуваних платформою .NET і навіть PHP. Тому в Palo можна вирішувати практично будь-які нестандартні (наприклад, для можливостей Excel-плагіна,розробленого програмістами Jedox) завдання. Все, що для цього потрібно – встановити досить скромну за вимогами систему, вивчити «Довідкове керівництво» (дуже непогано написане) і не боятися експериментувати.





