До тексту
  1. Мої твори/

Створення масштабованого конвеєра даних для Momspresso: Розширення можливостей персоналізації контенту

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

Виклик #

Momspresso потребувала системи, яка могла б:

  1. Фіксувати події користувачів у реальному часі
  2. Ефективно обробляти та зберігати великі обсяги даних
  3. Забезпечити швидкий аналіз та візуалізацію поведінки користувачів
  4. Підтримувати механізм рекомендацій для персоналізованої доставки контенту

Наше рішення: Комплексний конвеєр даних #

Ми розробили багатокомпонентний конвеєр даних, який відповідає цим потребам:

1. Python Events SDK #

Ми розробили простий клас Python, який можна інтегрувати в кодову базу Momspresso. Цей SDK дозволяє системі надсилати події без написання базового коду, полегшуючи розробникам відстеження взаємодії користувачів.

2. Веб-сервіс подій #

Цей сервіс отримує події від SDK і надсилає їх до Kafka після незначної валідації. Він виступає точкою входу для всіх даних про взаємодію користувачів.

3. Apache Kafka #

Ми обрали Kafka як нашу систему обміну повідомленнями та публікації-підписки завдяки її високій пропускній здатності та відмовостійкій конструкції. Наразі працює на одній машині, готова до масштабування в міру зростання Momspresso.

4. Система збору даних #

Цей компонент прослуховує всі події з Kafka та вставляє їх у базу даних PostgreSQL. Використовуючи можливості JSON у Postgres, ми створили гнучкий та доступний для запитів набір даних.

5. Сховище подій PostgreSQL #

Наше основне сховище даних для всіх подій. Ми впровадили систему щомісячного архівування для ефективного управління зберіганням.

6. Grafana для аналітики в реальному часі #

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

7. Система перегляду даних #

Цей компонент запускає серію евристик та моделей для визначення атрибутів користувача, оновлюючи окрему базу даних User View.

8. База даних перегляду даних PostgreSQL #

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

9. Metabase для панелей моніторингу #

Використовуючи базу даних Data View, Metabase дозволяє Momspresso створювати користувацькі панелі моніторингу та звіти за допомогою SQL-запитів.

10. Веб-сервіс унікального відбитка користувача #

Розумний сервіс пікселя 1x1, який призначає унікальний підпис у файлі cookie для кожного користувача, дозволяючи нам відстежувати користувачів між сеансами.

Потужність цього конвеєра #

Цей конвеєр даних розширює можливості Momspresso кількома способами:

  1. Інсайти в реальному часі: Momspresso тепер може відстежувати поведінку користувачів та ефективність контенту в реальному часі.
  2. Персоналізація: Структуровані дані користувачів дозволяють використовувати складні алгоритми рекомендацій контенту.
  3. Гнучкий аналіз: Завдяки зберіганню даних у форматах, доступних для запитів, Momspresso може легко виконувати спеціальний аналіз.
  4. Масштабованість: Модульна конструкція дозволяє масштабувати або замінювати окремі компоненти за потреби.

Погляд у майбутнє #

У міру зростання Momspresso цей конвеєр даних відіграватиме вирішальну роль у розумінні поведінки користувачів та наданні персоналізованого досвіду. Ми з нетерпінням чекаємо, як Momspresso використає цю інфраструктуру для вдосконалення своєї платформи та більш ефективного залучення своєї спільноти.

Слідкуйте за нашим наступним постом, де ми заглибимося в систему рекомендацій, побудовану на основі цього конвеєра даних!