Як ми перестали будувати аналітику в коді: CDC, BigQuery і нова роль Data Engineer [ukr]

У багатьох системах аналітика будується прямо в backend: події, воркери, enrichment через десятки запитів до бази та виклики інших сервісів. У нашому випадку один аналітичний event генерував до 10 звернень у БД, що при масштабі в мільйони подій створювало значне навантаження на production.

У цій доповіді я розповім, як ми повністю змінили підхід:

  • перейшли від application events до CDC через Debezium;
  • почали віддавати зміни з кожної таблиці напряму в data pipeline;
  • перенесли enrichment та агрегації в BigQuery;
і фактично прибрали аналітичне навантаження з backend-сервісів.

У результаті:

  • ми позбулися мільйонів read-запитів до production бази;
  • зменшили складність backend-коду;
  • відокремили OLTP від аналітики;
  • і зробили побудову аналітики значно швидшою.

Окремо поговоримо про неочевидний ефект:
тепер для побудови нових аналітичних сценаріїв достатньо одного Data Engineer, ERD-схеми та сучасних AI-інструментів — без залучення backend-команди і без змін у продакшн-коді.

Також розглянемо:

  • де CDC реально дає виграш, а де ні;
  • які проблеми з’являються (lag, дублікати, schema changes);
  • як змінюється вартість системи;
і чому “ті самі дані” в новій архітектурі — це не безкоштовно.

Йожеф Гісем
Solution Architect @ MacPaw
  • Solution Architect у MacPaw Inc.
  • Виступає на конференціях Fwdays (PHP & Architecture Talks), DOU та YouTube-каналах
  • Постійний учасник освітньої програми Intern MacPaw: вже 4 роки поспіль допомагає інтегрувати новачків у реальні проєкти
  • Ділиться досвідом у сфері архітектури та тестування, зокрема з використанням BDD, Symfony, Redis, Docker та сучасних API-рішень
  • Ви могли бачити Йожефа на сценах Fwdays, читати на DOU або слухати інтерв’ю на YouTube-каналі "It’s raining cats & dogs"
  • GitHub, Medium, LinkedIn, Facebook
Увійти
Або поштою
Увійти
Або поштою
Реєстрація через e-mail
Реєстрація через e-mail
Забули пароль?