Що таке сховище даних і як його побудувати
Розповідає Senior Product Analyst у Jooble
Компанії отримують дані з багатьох джерел. Рекламна інформація надходить з Google AdWords, сесії користувачів — з Google Analytics, дані продукту — з MySQL, MS Server або MongoDB. Інформація про платежі — з 1С. Крім цього, є тикет-системи, чати, CRM і навіть Excel-файли.
Ручна обробка та з’єднання цієї інформації — нераціонально і дорого. Тому багато компаній використовують сховище даних (Data Warehouse).
![](https://robot-site-static.fra1.digitaloceanspaces.com/cc/ckeditor/blog/48-chto-takoe-data-warehouse-i-kak-ego-postroit/oksana.webp)
Оксана Носенко, лекторка курсу «SQL для аналітики» в robot_dreams, Senior Product Analyst у Jooble, пояснює, чим сховище даних відрізняється від бази даних і як створити власне сховище.
Зберігання даних у «хмарі»
Data Warehouse — це система, яка зберігає дані з різних джерел для аналітики та складання звітів.
Схема сховища даних
Сховища відрізняються від баз даних за низкою ознак:
-
дані у сховищі необов’язково повинні надходити в реальному часі (якщо інше не передбачено бізнес-завданням);
-
дані можуть мати різну структуру (залежно від джерел);
-
сховище необов’язково повинне працювати швидко — головне, щоб швидкості вистачало для розв’язання всіх аналітичних завдань.
Сховище даних підходить для складних і комплексних обчислень краще, ніж база даних. Під час виконання складного запиту база даних може бути перевантажена. Через це ви ризикуєте втратити нову інформацію — для її обробки не вистачить ресурсів.
Як створити Data Warehouse
Для зберігання даних найчастіше використовують хмарні рішення. Їхні плюси:
-
Підтримка і масштабованість: не треба виділяти кімнату для серверів і підключати нові у разі зростання навантаження. Зазвичай хмарне сховище масштабується автоматично.
-
Продуктивність: хмарні рішення працюють швидше за традиційні й автоматично перерозподіляють навантаження.
-
Доступ до даних: щоб потрапити до хмарного сховища, не потрібно встановлювати сервер на комп’ютер. Достатньо відкрити браузер і увійти до хмари. SQL-запит можна робити навіть зі смартфона.
Основні хмарні сховища — Amazon Redshift, Google BigQuery, Azure. У них різна вартість, продуктивність, екосистема, підтримка.
У продуктових IT-компаніях, де я працювала, ми обирали Google BigQuery з таких причин:
-
Сховище в GBQ можна запустити швидко і без допомоги адміністраторів баз даних. Потрібно тільки створити акаунт у Google Cloud.
-
Формат pay-as-you-go: оплата в міру споживання лише за ті послуги, які використовуємо. Не треба заздалегідь обирати найоптимальніший пакет.
-
Готові pipeline-рішення. Багато платформ надають послуги трансферу даних у GBQ. Тому сховище запускали лише аналітики без розробників та адміністраторів.
Приклад GBQ Data Warehouse
Основний мінус BigQuery — плата за запити. Кожен SQL-запит використовує певний обсяг пам’яті, за який потрібно платити наприкінці місяця. Тому раджу поставити обмеження на кількість запитів на день.
Створюючи сховище даних, варто брати до уваги всі складнощі. Основна проблема — конструювання пайплайнів. Треба налаштувати трансфер даних з усіх джерел в єдине сховище. Під час нього доведеться стикнутися з недосконалими API, обмеженнями з вивантаження або парсингом даних. Можна писати всі з’єднання самостійно або застосовувати готові рішення (наприклад, Owox, Alooma, Blendo). Тим, хто працює з великим обсягом інформації, краще написати свої скрипти, які синхронізуватимуть дані кожного дня. Малому бізнесу без адміністратора баз даних варто використовувати pipeline-платформу. Її вартість залежить від обсягу інформації та кількості з’єднань.
Друга складність — якість даних. Трансфер даних може не видавати помилку. Але водночас інформація може бути неповною (через обмеження в API). Також є ризик помилки під час подальшого парсингу змінних (наприклад, виникнуть проблеми з кодуванням даних з 1С).
Наступний крок після створення сховища — вибір інструментів для розробки frontend-частини. Бізнесу треба бачити графіки, зрізи, порівняння та динаміку.
Мій фаворит — Tableau. У ньому можна виконати будь-яке завдання. Головне — зрозуміти, що саме вам потрібно. Тут також можна обрати Tableau Online, і підтримкою/обслуговуванням серверів займатимуться фахівці Tableau. Недолік рішення — ціна. Ліцензії досить дорогі. Якщо ви поки що не готові витрачатися на BI-систему, але хочете візуалізувати дані з GBQ, альтернативою може стати Google Data Studio. Невеликій компанії на початку буде достатньо можливостей GDS.
Розвиток дата-аналітики в компанії швидко дає помітний результат. Маючи всі потрібні дані, простіше оптимізувати рекламні кампанії, проводити A/B-тести, працювати з продуктовими гіпотезами.