Blog Background

Data Warehouse для бізнесу: коли просте сховище даних перетворюється на конкурентну переваг

Data Warehouse для бізнесу: коли просте сховище даних перетворюється на конкурентну переваг

Баррі Девлін і Пол Мерфі, два інженери IBM Europe, у 1986 році намагалися вирішити проблему, яка не давала спокою великим корпораціям того часу: операційні дані є, але отримати з них управлінську аналітику було практично неможливо. Транзакційні системи зберігали поточний стан бізнесу, але не вміли відповідати на запитання чому і що буде далі. Девлін і Мерфі побудували внутрішню архітектуру для IBM EMEA, а у 1988 році опублікували статтю, яка вперше описала концепцію “business data warehouse”.

Термін, якого раніше не існувало, за кілька років стає стандартом індустрії.

Майже сорок років потому проблема досі не зникла, ще й змінила масштаб. Замість ізольованих мейнфреймів у компаній тепер CRM, ERP, маркетингові платформи, виробничі системи і десятки Excel-файлів, які “тимчасово” стали основним інструментом аналітики. Дані є скрізь, але відповідь на просте аналітичне запитання іноді вимагає трьох днів роботи фінансового відділу.

Далі розбираємо, як влаштований сучасний data warehouse в Україні: коли він стає необхідністю для бізнесу і як виглядає цей шлях на практиці.

Що таке Data Warehouse і чим відрізняється від бази даних

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

І все ніби ідеально… рівно до моменту, поки не виникає питання іншого рівня:

“А що відбувається з маржею по категоріях за останні два роки, якщо розкласти це по регіонах і каналах продажів?”

Операційна база на таке запитання не розрахована. Вона або довго думає, або блокує роботу інших користувачів, або видає дані, які все одно треба зводити вручну.

Data warehouse – це окреме аналітичне середовище в межах архітектури даних, куди дані з різних систем надходять, очищуються та приводяться до єдиної структури для подальшого аналізу.

DWH vs OLTP vs Data Lake

Три поняття, які часто плутають:

OLTP Data Warehouse Data Lake
Призначення Операційні
транзакції
Аналітичні запити Зберігання сирих даних будь-якого формату
Структура даних Нормалізована Денормалізована, оптимізована для читання Будь-яка (структурована, напівструктурована, не структурована)
Типові користувачі Менеджери, оператори Аналітики, керівництво Data Scientists, інженери даних
Горизонт даних Поточний стан Роки історії Необмежено
Приклади систем SAP, Salesforce BigQuery, Snowflake, Redshift AWS S3, Azure Data Lake

Якщо коротко: OLTP відповідає на питання “що відбувається зараз”, DWH – “чому так відбувається і що буде далі”, а у Data Lake зберігають великі обсяги сирих даних у різних форматах з розрахунком на подальшу обробку. Data Lake і аналітичне сховище не конкурують: у зрілих архітектурах вони співіснують. Lake як шар сирих даних, DWH як структурована аналітика поверх нього.

Коли бізнесу потрібне сховище даних

Немає універсального порогу обороту чи кількості систем, після якого потрібен DWH. Але є конкретні симптоми:

  • Фінансовий звіт готується більше двох днів і вимагає ручного зведення з кількох систем.
  • Різні відділи приходять на нараду з різними цифрами по одному показнику.
  • Значну частину часу (часто більшу за половину) аналітик витрачає на збір даних.
  • Будь-який нестандартний запит від керівництва перетворюється на окремий проєкт тривалістю кілька днів.
  • Компанія масштабується, і складність даних зростає швидше за інфраструктуру.

Архітектура сучасного Data Warehouse

Шари: Staging → Core → Data Mart

Сучасне аналітичне сховище будується пошарово, і кожен шар має чітку роль і межі відповідальності.

  1. Staging (Bronze layer) – перший рівень, де дані приземляються в тому вигляді, в якому прийшли з джерел: без трансформацій, без очищення, без бізнес-логіки. Це страховка: якщо щось пішло не так на наступних етапах, є можливість повернутися до оригіналу і переграти процес заново.
  2. Core (Silver layer) – тут відбувається основна робота. Дані очищуються від дублікатів і технічних артефактів, приводяться до єдиних форматів, збагачуються довідниками, зв’язуються між собою. Клієнт із CRM і клієнт із ERP стають одним записом з єдиним ідентифікатором. Товарна позиція з різних систем отримує уніфіковану назву. Це і є те саме єдине джерело правди.

Data Mart (Gold layer) – предметно-орієнтовані вітрини, оптимізовані під конкретні аналітичні задачі: фінансова вітрина для CFO, маркетингова для CMO, операційна для виробництва. Запити тут виконуються швидко, бо дані вже агреговані під конкретні питання.

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

ETL vs ELT підходи

ETL (Extract → Transform → Load): класичний підхід, де дані спочатку витягуються з джерел, трансформуються на окремому сервері і тільки потім завантажуються в сховище. Добре працював в епоху дорогих хмарних обчислень і невеликих обсягів.

ELT (Extract → Load → Transform): сучасний підхід, де дані спочатку завантажуються в сховище в сирому вигляді, а трансформації відбуваються вже всередині нього. Це стало можливим завдяки хмарним платформам, які мають достатню обчислювальну потужність для трансформації безпосередньо на рівні сховища.

ETL ELT
Де трансформація Зовнішній сервер Всередині DWH
Підходить для Legacy-систем, суворих вимог до безпеки даних Хмарних платформ, великих обсягів
Швидкість розробки Повільніше Швидше
Вартість Окремий ETL-сервер Залежить від обсягу обчислень у хмарі

Для більшості нових проєктів сьогодні обирають ELT. Хмарні платформи часто роблять його простішим у реалізації та масштабуванні, але вартість залежить від ефективності запитів і обсягу обробки. Класичні etl процеси залишаються актуальними там, де є legacy-інфраструктура або жорсткі вимоги до того, які дані покидають периметр корпоративної мережі.

Топ хмарних DWH-платформ

Вибір платформи є одним з ключових рішень, яке потім складно переграти. На ринку хмарних DWH уже сформувався очевидний пул лідерів: BigQuery і Snowflake в Україні найчастіше розглядають як базові варіанти, поряд із Redshift і Azure Synapse.

Google BigQuery

BigQuery – serverless-платформа від Google, де не потрібно управляти кластерами чи планувати масштабування: ресурси виділяються автоматично під конкретний запит. Побудована на власному рушії Dremel, який виконує паралельні колонкові запити через тисячі вузлів одночасно.

Переваги: мінімальний операційний overhead, нативна інтеграція з екосистемою Google (Looker Studio, Vertex AI, Google Analytics), модель оплати за фактично оброблені дані. Зручно для нерівномірного навантаження.

Обмеження: on-demand модель може давати непередбачувані рахунки при неоптимізованих запитах. Потребує дисципліни в написанні SQL. Прив’язка до Google Cloud.

Підходить для: компаній із нерівномірним навантаженням, проєктів у Google Cloud, команд без виділеного інфраструктурного адміністратора.

Snowflake

Snowflake побудований на ідеї повного розділення зберігання і обчислень, їх можна масштабувати незалежно одне від одного. Платформа розгортається поверх AWS, Azure або Google Cloud, що робить її мультихмарним рішенням без прив’язки до конкретного провайдера.

Переваги: мультихмарність, зручний обмін даними між організаціями через Snowflake Marketplace, керована модель витрат через virtual warehouses з гнучким масштабуванням.

Обмеження: вища базова вартість порівняно з BigQuery для малих обсягів. Вимагає планування розміру virtual warehouses під навантаження.

Підходить для: великих корпорацій, мультихмарних середовищ, компаній з потребою обміну даними між бізнес-юнітами.

Amazon Redshift

Redshift є рішенням від AWS, глибоко інтегроване з екосистемою Amazon: S3, Glue, SageMaker, QuickSight. Існує у двох варіантах: класичний provisioned і новіший Serverless з автоматичним масштабуванням.

Переваги: зрілий інструментарій для etl процесів через AWS Glue, широка спільнота, велика кількість інтеграцій усередині AWS-екосистеми.

Обмеження: класичний варіант вимагає планування кластерів і ручного управління при зміні навантаження. Serverless закриває частину цих обмежень.

Підходить для: компаній, інфраструктура яких вже на AWS, проєктів зі стабільним і передбачуваним навантаженням.

Microsoft Azure Synapse Analytics

Azure Synapse об’єднує в одній платформі DWH, інтеграцію даних і аналітику великих даних. Для компаній у Microsoft-середовищі це означає нативну роботу з Power BI, Azure Active Directory і Microsoft Fabric без додаткових інтеграційних прошарків.

Переваги: єдине середовище для SQL-запитів і Spark-обчислень, глибока інтеграція з Power BI, знайомий інтерфейс для команд у Azure-екосистемі.

Обмеження: ширший функціонал одночасно означає більшу складність налаштування. Для невеликих проєктів може бути надмірним рішенням.

Підходить для: підприємств у корпоративному Microsoft-середовищі, проєктів де Power BI – основний інструмент візуалізації.

Кейс IWIS: Data Warehouse для BAT

British American Tobacco – транснаціональна компанія з присутністю у понад 180 країнах і штатом понад 50 000 працівників. Масштаб бізнесу означає масштаб даних: десятки джерел, тисячі показників, кілька аналітичних команд з різними потребами.

Постановка задачі

На першому етапі команда провела аудит існуючих звітів Power BI та виявила проблеми в розрахунках і використанні інструментів платформи. До початку співпраці з IWIS аналітична звітність BAT працювала нестабільно: звіти час від часу були недоступні, показники перераховувались із затримками, а швидкодія системи викликала нарікання. Діагностика виявила системну проблему: дані транспортувались і трансформувались без проміжного збереження. Фактично, кожен запит до Power BI запускав повний цикл витягування і трансформації даних із джерел у реальному часі. Будь-який збій на будь-якому кроці – і звіт просто не відкривався.

Окремою проблемою була відсутність шару диспетчеризації etl процесів: ніхто не контролював ні з’єднання з джерелами, ні факт виконання завантаження, ні якість даних на виході. Система працювала як чорна скринька.

Архітектурне рішення

Команда IWIS розробила кілька варіантів архітектури, кожен з яких передбачав побудову сховища даних бізнес-рівня, але на різних інструментах. Клієнт обрав оптимальну платформу з урахуванням корпоративної інфраструктури.

Реалізація включала два рівні:

Bronze layer (raw data) – до кожного джерела налаштовані механізми екстракції з автоматичним збереженням сирих даних. Дані більше не трансформуються на льоту, вони спочатку приземляються в незмінному вигляді.

Silver layer (cleaned data) – окремий процес трансформації очищує і структурує дані з Bronze-рівня. Power BI більше не тягне дані напряму з джерел, він працює з уже підготовленим шаром.

Окремо була побудована інфологічна модель даних: опис усіх ключових сутностей, їхніх зв’язків і потоків між системами. Це спростило подальшу підтримку і стало основою для масштабування.

Найважливіший компонент архітектури – механізм диспетчеризації. Система контролює виконання кожного ETL-завдання за розкладом, порівнює інкременти даних між Bronze-рівнем і джерелом паралельним способом (незалежно від самого процесу екстракції), і у випадку виявлення розбіжностей або збоїв автоматично надсилає сповіщення на пошту і в Telegram.

Результати

Команда IWIS і BAT пройшла шлях від нестабільної звітності до повноцінної дворівневої архітектури сховища за 12 місяців. Конкретні результати:

  • Power BI більше не залежить напряму від джерельних систем.
  • Оновлення даних стало більш передбачуваним завдяки інкрементальному підходу.
  • Будь-який збій у ETL тепер фіксується автоматично.
  • Інфологічна модель дала команді BAT документовану основу для самостійного розвитку системи.

Gold-рівень (Data Mart) на момент завершення проєкту не будувався, бо існуючі потреби закривав Silver-рівень. Але архітектура спроєктована так, що додавання Gold-рівня не вимагає перебудови попередніх шарів.

Скільки коштує розробка DWH в Україні

Коли мова заходить про розробку data warehouse, питання вартості звучить одним із перших. І відповідь завжди одна: залежить. Але є орієнтири, які допомагають скласти реалістичний бюджет.

Вартість розробки складається з кількох компонентів:

Аналіз і проєктування архітектури: Discovery-етап, де команда вивчає джерела даних, їхню якість, структуру і взаємозв’язки, будує інфологічну модель і формує технічне рішення. Пропустити цей етап і одразу писати код є найпоширенішою помилкою, яка коштує дорого при переробці.

Розробка і налаштування: побудова шарів сховища, налаштування ETL/ELT-процесів, диспетчеризація, контроль якості даних. Найбільша частина бюджету.

Ліцензії на платформу залежать від обраного рішення. Хмарні платформи (BigQuery, Snowflake, Redshift, Azure Synapse) працюють за моделлю pay-as-you-go, тому початкові витрати невеликі, але вони зростають разом з обсягом даних і кількістю запитів.

Підтримка і розвиток: після запуску система потребує моніторингу, оновлень і додавання нових джерел або вітрин.

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

Сценарій Що входить Орієнтир бюджету
Базовий запуск 2-5 джерел, базова модель даних, ELT, проста звітність 15000-30000$
Середній 5-15 джерел, очищення даних, кілька вітрин, стабільні ETL-процеси 30000-80000$
Великий 15+ джерел, складна логіка, data governance, інтеграції, масштабування 80000-200000$+

Ці цифри є відправною точкою. Реальна вартість визначається після Discovery-етапу, коли зрозуміла якість і структура джерельних даних. Саме це може як зменшити бюджет, так і збільшити його в кілька разів. Тут найчастіше виникають несподіванки: legacy ERP-система з документацією десятирічної давнини або дані в форматах, про які ніхто не попереджав.

Помилки при побудові Data Warehouse

Більшість проблем у DWH-проєктах організаційні або архітектурні. Ось найпоширеніші:

Пропущений Discovery-етап. Команда починає розробку без повного розуміння джерел даних, їхньої якості і бізнес-логіки. Результат – переробка на пізніх стадіях, яка коштує в рази дорожче від початкового аналізу.

Відсутність господаря даних. DWH – це інфраструктура, яка потребує постійної уваги. Якщо в компанії немає людини, відповідальної за якість і актуальність даних, система поступово деградує.

Спроба побудувати все одразу. Бажання зробити “ідеальне сховище” з першої спроби призводить до довгих проєктів без проміжних результатів. Правильний підхід ітеративний: запустити базову архітектуру, отримати цінність, потім розвивати.

Ігнорування якості вхідних даних. “Сміття на вході – сміття на виході” – це буквальний опис того, що відбувається, коли джерельні дані не проходять валідацію. Аналітика на брудних даних шкідлива, бо створює хибну впевненість у цифрах.

Вибір платформи до розуміння потреб. Платформа має визначатися архітектурою і потребами, а не навпаки.

З чого почати: чеклист готовності бізнесу

Перед стартом DWH розробки варто чесно відповісти на кілька питань:

  • Чи є розуміння, які бізнес-питання має вирішити сховище?
  • Чи є інвентаризація джерел даних: список систем, форматів і відповідальних?
  • Чи є хтось із бізнесу, хто готовий брати участь у Discovery і валідувати логіку показників?
  • Чи є розуміння якості поточних даних? Відомо, де є дублікати, пропуски, неузгодженості?
  • Чи є бюджет не тільки на розробку, але й на подальшу підтримку?
  • Чи є технічна команда або підрядник, який буде відповідати за систему після запуску?

Якщо на більшість питань відповідь “ні”, починати треба з аудиту даних і формування вимог. Саме це і є першим кроком у правильно побудованому DWH-проєкті.

Безкоштовна консультація з архітектури даних

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

Якщо впізнали у статті свою ситуацію, звертайтесь за безкоштовною консультацією з архітектури даних. Розберемо вашу інфраструктуру і запропонуємо конкретні наступні кроки.

Наступний пост