Різні системи зберігання даних мають різну структуру. Деякі з них можуть мати ODS (оперативне сховище даних), тоді як інші можуть мати кілька вітрин даних. Деякі можуть мати невелику кількість джерел даних, тоді як інші можуть мати десятки джерел даних. З огляду на це, набагато доцільніше представити різні рівні архітектури сховища даних, ніж обговорювати специфіку якоїсь однієї системи.
Загалом, усі системи сховищ даних мають такі рівні:
- Рівень джерела даних
- Рівень вилучення даних
- Зона обробки
- Рівень ETL
- Рівень зберігання даних
- Рівень логіки даних
- Рівень представлення даних
- Рівень метаданих
- Рівень системних операцій
На малюнку нижче показано взаємозв’язки між різними компонентами архітектури сховища даних:
Нижче ми розглянемо кожен компонент окремо:
Рівень джерела даних
Тут представлені різні джерела даних, з яких дані надходять до сховища даних. Джерело даних може бути будь-якого формату – звичайний текстовий файл, реляційна база даних, інші типи баз даних, файл Excel тощо можуть бути джерелом даних.
Джерелом даних може бути багато різних типів даних:
- Операції – наприклад, дані про продажі, дані про персонал, дані про продукти, дані про запаси, маркетингові дані, системні дані.
- Журнали веб-сервера з даними про перегляд сторінок користувачами.
- Дані внутрішніх маркетингових досліджень.
- Сторонні дані, такі як дані перепису населення, демографічні дані або дані опитувань.
Всі ці джерела даних разом утворюють рівень джерела даних.
Рівень вилучення даних
Дані витягуються з джерела даних до системи сховища даних. Ймовірно, відбувається деяке мінімальне очищення даних, але навряд чи відбувається якась серйозна трансформація даних.
Зона очікування
Це місце, де дані зберігаються до того, як вони будуть вилучені та перетворені на сховище даних / вітрину даних. Наявність одного спільного простору полегшує подальшу обробку/інтеграцію даних.
ETL-шар
Саме тут дані набувають свого “інтелекту”, оскільки логіка застосовується для перетворення даних з транзакційної природи в аналітичну. На цьому рівні також відбувається очищення даних. ETL проектування ETL часто є найбільш трудомістким етапом у проекті сховища даних, і на цьому рівні часто використовується інструмент ETL.
Рівень зберігання даних
Це місце, де зберігаються перетворені та очищені дані. Залежно від обсягу та функціональності, тут можна знайти 3 типи сутностей: сховище даних, вітрина даних та оперативне сховище даних (ODS). У кожній конкретній системі ви можете мати лише один з трьох типів, два з трьох або всі три типи.
Рівень логіки даних
Тут зберігаються бізнес-правила. Бізнес-правила, що зберігаються тут, не впливають на основні правила перетворення даних, але впливають на те, як виглядає звіт.
Рівень представлення даних
Це стосується інформації, яка надходить до користувачів. Це може бути табличний/графічний звіт у браузері, електронний звіт, який автоматично генерується і надсилається щодня, або сповіщення, яке попереджає користувачів про винятки, тощо. Зазвичай на цьому рівні використовується інструмент OLAP та/або інструмент звітування.
Рівень метаданих
Це місце, де зберігається інформація про дані, що зберігаються в системі сховища даних. Логічна модель даних може бути прикладом того, що знаходиться на рівні метаданих. Для керування метаданими часто використовується інструмент метаданих.
Рівень системних операцій
Цей рівень містить інформацію про те, як працює система сховища даних, наприклад, про стан завдань ETL, продуктивність системи та історію доступу користувачів.