Огляд IBM Cognos CubeDesigner - нового інструменту для бізнес аналізу великого обсягу даних

   Даний огляд присвячений новому інструменту в лінійці систем аналітики IBM Cognos - Cube Designer, який служить для ефективного моделювання багатовимірних сховищ даних (кубів) і розрахований на роботу з великими та дуже великими обсягами даних (таблиці понад 20 млн рядків).

   Компанія IBM сказала нове слово в обробці великих масивів даних, представивши новий add-on до популярної системі бізнес-аналізу IBM Cognos BI. Нова розробка серед аналітичних систем IBM називається IBM Cognos Cube Designer. Даний продукт продовжує серію технічних рішень, які були розпочаті випуском розширення під назвою Dynamic Query і служить для заміни популярного продукту IBM Cognos PowerPlay.
   Інструмент IBM Cognos PowerPlay був розроблений під версію Cognos Series 7. Він дозволяє перетворювати і організовувати реляційні дані у вигляді багатовимірних кубів. Однак, обмеженням PowerPlay є те, що дані та метадані кубів зберігаються у вигляді файлової системи (за аналогією з TM1), що вимагає постійної перепублікації моделі при оновленні даних в таблицях. Плюс до цього, із зростанням обсягів даних страждала швидкодія.
   У перших редакціях 10-ї версії IBM Cognos BI (10.1, 10.2.0), з метою підвищення продуктивності системи, використовували нові технології роботи з даними, такі як DynamicQueryMode, яка прискорює вибірку даних для звітів.
При обранні цього режиму роботи, сервер переходить в динамічний режим обробки запитів, який, коротко, зводиться до наступного: створюється кеш SQL запитів для повторюваних запитів до реляційних даних. Режим використовує параметри в SQL рядку, тому один і той же запит, що знаходиться в кеші, може бути використаний для вибірки даних з різних областей таблиць, або навіть з різних таблиць.
   Режим використовує технологію Java ™, тому для повноцінної роботи, адміністратор повинен налаштувати не тільки ODBC підключення, а й JDBC, встановивши необхідні драйвери і системні змінні.
   В останній версії Cognos BI, компанія IBM продовжила розвиток технологій кешування на базі Java ™. З'явився новий кеш в якому зберігаються підсумкові дані. Справа в тому, що у звіті зазвичай немає необхідності виводити дані найнижчого рівня, наприклад, з продажу в певний день для конкретного клієнта. Для побудови звіту, як правило, потрібні дані підсумків продажів по клієнтському сегменту за обраний період і т.п. Саме ці підсумки і зберігаються в кеші для прискорення роботи BI системи.
Порівняємо обидва режими. На малюнку праворуч ілюстрація до режиму динамічних запитів, ліворуч - до режиму динамічних кубів.
dynamic

   У режимі динамічних запитів кеширується тільки SQL і MDX запити. Кешовані дані та метадані є «побічним» продуктом. А в разі режиму динамічних кубів CubeDesigner кеширується весь потік вивантажуваних даних, серед них - агрегати, як найбільш часто затребувані дані. Крім цього, в CubeDesigner є ще ряд можливостей прискорення роботи, про які розповімо нижче.
Для прискорення роботи, динамічні куби, поряд з технологією Java ™ можуть використовувати вбудовані в деякі СУБД агрегатні таблиці - це таблиці, які засобами СУБД заповнюються агрегованими даними. Порядок і рівень агрегації встановлюються адміністратором.
Адміністратор може настроювати розміри кеша, підлаштовуючи CubeDesigner під обсяг регулярно обираних даних найбільш оптимальним чином. Для оцінки обсягів відповідних кешів, можна використовувати правило 10/10/10, суть якого в наступному: обсяг даних в агрегатних таблицях - в 10 разів менше обсягу «чистих» даних в СУБД, обсяг даних, одержуваних звітом у 10 разів менше агрегатів. Тобто, якщо обсяг даних - 100 Гб, то обсяг кеш агрегатів в таблицях - 10 Гб, обсяг кешу в пам'яті - 1 Гб.
levelsОдним з недоліків такої структури як динамічний куб, є обов'язкова вимога, щоб таблиці в СУБД були організовані або у вигляді однієї єдиної таблиці, або у вигляді "сніжинки" або «зірки». CubeDesigner розуміє зовнішні ключі таблиць. У разі, якщо ключі не оголошені, зв'язки схеми можна побудувати вручну, скориставшись внутрішнім редактором. Вимірювання куба повинні бути організовані у вигляді рівнів (н.р., рівні вимірювання Periods: Years ->Months ->Day), при цьому, вимірювання динамічних кубів підтримують альтернативні ієрархії (один і той же елемент входить в кілька консолідацій).
  Порівнюючи інструмент Cognos CubeDesigner з аналогічними засобами багатовимірного моделювання даних (IBM Cognos PowerPlay, Cognos TM1, Cognos Framework Manager), можна сказати наступне: у порівнянні з іншими засобами багатовимірної організації даних, CubeDesigner дозволяє працювати з обсягами даних, раніше не доступних в інших інструментах Cognos. CubeDesigner дає значне зростання продуктивності на великих і надвеликих таблицях. У разі менших обсягів (таблиці фактів менше 20 млн рядків), IBM рекомендує використовувати інші засоби розробки, н.р. Framework Manager. Серед всіх перерахованих інструментів, тільки IBM Cognos TM1 дозволяє користувачеві безпосередньо вводити дані в куби.
   На завершення, кілька слів про те, як можна ще прискорити роботу з даними в CubeDesigner.
   По-перше, потрібно сказати про AggregateAdvisor. Це інструмент, який, використовуючи логи служби динамічних запитів, аналізує навантаження на динамічний куб з метою визначення рекомендацій щодо рівнів агрегатів, як в пам'яті, так і в базі даних.
cube virtual

   Також, Cube Designer дозволяє створювати та публікувати віртуальні куби. Віртуальний куб являє собою куб, отриманий об'єднанням двох фізичних кубів, створених у Cube Designer. Для об'єднання, у них повинно збігатися хоча б один вимір. Віртуальний куб успадковує всі вимірювання, що входять до його складу кубів. За допомогою віртуальних кубів, наприклад, можна будувати звіти для складеного факту - факт до 2010 року зберігається в одному кубі, а решта фактів - в іншому.
   Таким чином, IBM Cognos Cube Designer є простим у роботи та підтримці і ефективним засобом для багатомірного моделювання великих і надвеликих обсягів даних.

вгору