Сховище даних

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Загальна схема сховища даних
Базова архітектура сховища даних

Сховище даних (англ. data warehouse) — предметно орієнтований, інтегрований, незмінний набір даних, що підтримує хронологію і здатний бути комплексним джерелом достовірної інформації для оперативного аналізу та прийняття рішень. В основі концепції сховища даних (СД) лежить розподіл інформації, що використовують в системах оперативної обробки даних (OLTP) і в системах підтримки прийняття рішень (СППР). Такий розподіл дозволяє оптимізувати як структури даних оперативного зберігання для виконання операцій введення, модифікації, знищення та пошуку, так і структури даних, що використовуються для аналізу. В СППР ці два типи даних називаються відповідно оперативними джерелами даних (ОДД) та сховищем даних.

Перші статті, присвячені сховищам даних з'явилися в 1988 році, їх авторами були Девлін та Мерфі. В 1992 році Уільман Г. Інмон детально описав дану концепцію в своїй монографії «Побудова сховищ даних».

Історія[ред. | ред. код]

Спроби створення систем прийняття рішень, які б безпосередньо зверталися до баз даних систем оперативної обробки трансакцій OLTP, виявляються в більшості випадків неефективними [1]. Тому для забезпечення можливості аналізу накопичених даних організації почали створювати сховища даних, що являють собою інтегровані колекції даних, зібрані з різних систем оперативного доступу до даних.

Концепція Data Warehouse була запропонована в 1992 р. Білом Інмоном в його книзі «Building the Data Warehouse» та стала однією з домінуючих в розробці інформаційних технологій обробки даних 90-х років. Англомовний термін Data Warehouse означає створення, підтримку, управління та використання сховища даних, що говорить про те, що мова йде про процес. Мета цього процесу — неперервне надання необхідної інформації потрібним співробітникам організації. Цей процес передбачає постійний розвиток, удосконалення, розв'язання все нових задач. Процес ніколи не закінчується, тому його не можна вмістити в більш-менш чіткі часові рамки так, як це можна зробити для традиційних систем оперативного доступу до даних.

Основні характеристики[ред. | ред. код]

Сховища даних — основа для побудови систем підтримки прийняття рішень. Основна мета створення сховища в тому, щоб зробити усі значимі для управління бізнесом дані доступними в стандартизованій формі, придатними для аналізу та отримання необхідних звітів. Для досягнення цього потрібно отримати дані із існуючих внутрішніх та зовнішніх, доступних для комп'ютера, джерел. Незважаючи на відмінності в підходах та реалізаціях, усім сховищам даних властиві такі спільні риси[2]: предметна орієнтованість, інтегрованість, прив'язка до часу, незмінність.

Предметна орієнтованість[ред. | ред. код]

Інформація в сховищі даних організована відповідно до основних аспектів діяльності підприємства (замовники, продажі, склад тощо). Це відрізняє сховище даних від оперативної БД, де дані організовано відповідно до процесів (виписка рахунків, відвантаження товару тощо). Предметна організація даних в сховищі сприяє як значному спрощенню аналізу, так і підвищенню швидкості виконання аналітичних запитів. Вона виражається, зокрема, в використанні інших, порівняно з оперативними системами, систем організації даних. У випадку зберігання даних в реляційній СУБД використовується схема «зірки» (англ. star schema) чи «сніжинки» (англ. snowflake schema). Крім цього, дані можуть зберігатися в спеціальній багатовимірній СУБД в n-вимірних кубах.

Інтегрованість[ред. | ред. код]

Перш ніж потрапити до сховища даних оперативні дані перевіряють, очищують та певним чином агрегують. Вихідні дані отримуються із оперативних БД, перевіряються, очищуються, приводяться до єдиного виду, в потрібній мірі агрегуються (вираховуються сумарні та інші статистичні показники) і завантажуються в сховище. Такі інтегровані дані набагато простіше аналізувати.

Підтримка хронології[ред. | ред. код]

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

Незмінність[ред. | ред. код]

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

Мінімальна надлишковість[ред. | ред. код]

Не зважаючи на те, що інформація до сховища даних потрапляє від багатьох OLTP-систем, надлишковість інформації в сховищі даних зведена до мінімуму.

Вимоги[ред. | ред. код]

  1. Адекватність відображення логіки предметного середовища у відповідній моделі даних.
  2. Оптимальна надмірність даних. БД повинна являти собою єдину сукупність інтегрованих даних.
  3. Наявність ефективних засобів ведення баз даних (засоби створення, накопичення, модифікації, видалення та пошуку даних).
  4. Цілісність даних та їх узгодженість при виконанні користувачами операцій над ними.
  5. Безпека даних — захист від несанкціонованого доступу до даних та від руйнування БД.
  6. Можливість реструктуризації БД — наявність засобів змінювання структури даних при змінюванні запитів до БД.
  7. Наявність повних, зручних та простих у вивченні мовних засобів визначення та маніпулювання даними.
  8. Наявність документації.
  9. Простота вивчення.
  10. Взаємна незалежність програм та даних.

Види сховищ даних[ред. | ред. код]

При використанні СППР можуть застосовуватись 2 види сховищ даних:

Фізичне СД[ред. | ред. код]

При реалізації моделі СППР з фізичним СД дані з різних ОДД копіюються в єдине сховище. Зібрані дані приводяться до єдиного формату, узгоджуються та узагальнюються. Аналітичні запити адресуються до сховища даних.
Така модель безсумнівно приводить до дублювання інформації в ОДД та в СД. Проте така надлишковість не перевищує 1%. Це пояснюється такими причинами:

  • при завантаженні інформації із ОДД в СД дані фільтруються. багато з них не потрапляють в СД, оскільки не мають змісту з точки зору використання в процедурах аналізу;
  • інформація в ОДД носить, як правило, оперативний характер, і дані, втративши актуальність, знищуються. В СД, навпаки, зберігається історична інформація. З цієї точки зору дублювання вмісту СД даними ОДД є дуже незначним;
  • в СД зберігається узагальнена інформація, яка в ОДД відсутня;
  • під час завантаження в СД дані очищаються (видаляється непотрібна інформація) і приводяться до єдиного формату. Після такої обробки дані займають значно менший обсяг.

Віртуальне СД[ред. | ред. код]

Надлишковість інформації можна звести до нуля, використовуючи віртуальне СД. В даному випадку на відміну від фізичного СД дані з ОДД не копіюються в єдине сховище. Вони витягуються, перетворюються та інтегруються безпосередньо при виконанні аналітичних запитів в оперативній пам'яті комп'ютера. Фактично такі запити напряму адресуються до ОДД. Основними перевагами віртуального СД є:

  • мінімізація обсягу пам'яті, який займають дані на носії інформації;
  • робота з поточними, деталізованими даними.

Однак такий підхід має і багато недоліків. Час обробки запитів до віртуального сховища даних значно перевищує відповідні показники для фізичного сховища. Крім того, структури оперативних баз даних, що розраховані на інтенсивне оновлення даних є сильно нормалізованими. Тоді як для виконання аналітичного запиту вимагається об'єднання великої кількості таблиць, що також приводить до зниження швидкодії. Інтегрований погляд на віртуальне сховище можливий тільки при виконанні умови постійної доступності всіх оперативних джерел даних. Таким чином, тимчасова недоступність хоча б одного з джерел може привести або до невиконання аналітичних запитів, або до невірних результатів. Виконання складних аналітичних запитів над ОДД займає великий обсяг ресурсів комп'ютерів, на яких вони працюють. Це приводить до зниження швидкодії OLTP-систем, що недопустимо, оскільки час виконання операцій в таких системах є дуже критичним параметром.

Головним же недоліком віртуального сховища даних вважається практична неможливість отримання даних за довгий період часу. При відсутності фізичного сховища доступні тільки ті дані, які на момент запиту містяться в ОДД. Основне призначення OLTP-систем — оперативна обробка поточних даних, тому вони не орієнтовані на зберігання даних за тривалий період часу. По мірі застарівання дані вивантажуються в архів та видаляються з оперативної БД.

Інша типологія[ред. | ред. код]

Корпоративні сховища даних[ред. | ред. код]

Корпоративні сховища даних містять інформацію, яка стосується усієї корпорації (всього підприємства), і яка зібрана з великої кількості оперативних джерел для консолідованого аналізу. Зазвичай такі сховища охоплюють цілий ряд аспектів діяльності підприємства і використовуються для прийняття як тактичних, так і стратегічних рішень. Корпоративне сховище містить детальну та узагальнюючу інформацію. Вартість створення та підтримки корпоративних сховищ може бути дуже великою. Частіше всього їх створенням займаються централізовані відділи інформаційних технологій, причому вони створюються методом зверху вниз — спочатку проектується загальна схема, і тільки потім починається заповнення даними. Такий процес може тривати декілька років.

Кіоски даних[ред. | ред. код]

Докладніше: Кіоск даних

Кіоски даних містять підмножину корпоративних даних та створюються для відділів чи підрозділів всередині організації. Кіоски даних часто створюються силами самого відділу та охоплюють конкретний аспект, що цікавить співробітників даного відділу. Кіоск даних може отримувати дані з корпоративного сховища (залежний кіоск) або, що більш розповсюджено, дані можуть отримуватись безпосередньо з оперативних джерел (незалежний кіоск).

Основними постачальниками програмного забезпечення сховищ даних є компанії Arbor, Hewlett-Packard, IBM, Informix, Microsoft, Oracle, Platinum Technology, SAS Institute, Software AG, Sybase та ін. Усі ці фірми мають сторінки в Internet, на яких наводяться детальні відомості про їх продукти та послуги.

Проблеми створення СД[ред. | ред. код]

Незважаючи на переваги фізичного СД перед віртуальним, слід визнати, що його реалізація являє собою достатньо трудомісткий процес. Тому при створенні СД виникає ряд проблем:

  1. Необхідність інтеграції даних із неоднорідних джерел в розподіленому середовищі — СД створюються для інтегрування даних, які можуть надходити з різнорідних ОДД, фізично розміщених на різних комп'ютерах. При створенні СД необхідно вирішувати задачу побудови системи, що узгоджено функціонує з неоднорідними програмними засобами та рішеннями. При виборі засобів реалізації СД доводиться враховувати багато факторів, які включають рівень сумісності різних програмних компонентів, легкість їх засвоєння та використання, ефективність функціонування.
  2. Потреба в ефективному зберіганні та обробці великих обсягів інформації — Властивість незмінності СД передбачає накопичення в ньому інформації за довгий період часу, що повинно підтримуватися постійним зростанням обсягів дискової пам'яті. Орієнтація на виконання аналітичних запитів та зв'язана з цим денормалізація даних приводять до нелінійного росту обсягів пам'яті, які займає сховище даних при зростанні обсягу даних. Дослідження показують, що для включення до СД набору даних, які займали в оперативній БД 100 Мб, необхідно в 5 разів більше дискового простору.
  3. Необхідність наявності багаторівневих довідників метаданих — для систем аналізу наявність розвинутих метаданих (даних про дані) і засобів їх представлення кінцевим користувачам є однією з основних умов успішної реалізації СД. Метадані необхідні користувачам СППР для розуміння структури інформації, на основі якої приймається рішення. При створенні СД необхідно вирішувати задачі зберігання та зручного представлення метаданих користувачам.
  4. Підвищені вимоги до безпеки даних — зібрана разом і узгоджена інформація про історію розвитку корпорації, її успіхи та невдачі, про взаємовідносини з постачальниками та замовниками, про історію та стан ринку дає можливість аналізу минулої та поточної діяльності корпорації та побудови прогнозів для майбутнього. Очевидно, що така інформація є конфіденційною і доступ до неї обмежений в межах самої компанії, не говорячи вже про інші компанії. Для забезпечення безпеки даних потрібно вирішувати питання автентифікації користувачів, захисту даних при їх переміщенні в сховище даних з оперативних баз даних та зовнішніх джерел, захисту даних при їх передаванні по мережі.

Зниження затрат на створення СД можна досягти, створюючи його спрощений варіант — вітрину даних (data mart).

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

Примітки[ред. | ред. код]

  1. Барсегян А. А., Куприянов М. С., Степаненко В. В., Холод И. И. Методы и модели анализа данных: OLAP и Data Mining. — СПб.: БХВ-Петербург, 2004. — 336 с
  2. Inmon W.H. Building the Data Warehouse, 4th Edition. — Hoboken, NJ:Wiley, 2005. — 576 p.

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

  • Сховища та простори даних : монографія / Н. Б. Шаховська, В. В. Пасічник ; М-во освіти і науки України, Нац. ун-т «Львів. політехніка». − Л. : Вид-во Нац. ун-ту «Львів. політехніка», 2009. − 240 с. − Бібліогр. : с. 230−240 (207 назв). − ISBN 978-966-553-796-0.