- Діпанкар Саркар: Технолог та підприємець/
- Мої твори/
- Створення масштабованого конвеєра даних для Momspresso: Розширення можливостей персоналізації контенту/
Створення масштабованого конвеєра даних для Momspresso: Розширення можливостей персоналізації контенту
Зміст
У постійно мінливому цифровому ландшафті контентні платформи, такі як Momspresso, потребують надійної інфраструктури даних для надання персоналізованого досвіду своїм користувачам. Сьогодні я радий поділитися інформацією про масштабований конвеєр даних, який ми створили для Momspresso, що забезпечує їхню аналітику та системи рекомендацій.
Виклик #
Momspresso потребувала системи, яка могла б:
- Фіксувати події користувачів у реальному часі
- Ефективно обробляти та зберігати великі обсяги даних
- Забезпечити швидкий аналіз та візуалізацію поведінки користувачів
- Підтримувати механізм рекомендацій для персоналізованої доставки контенту
Наше рішення: Комплексний конвеєр даних #
Ми розробили багатокомпонентний конвеєр даних, який відповідає цим потребам:
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 кількома способами:
- Інсайти в реальному часі: Momspresso тепер може відстежувати поведінку користувачів та ефективність контенту в реальному часі.
- Персоналізація: Структуровані дані користувачів дозволяють використовувати складні алгоритми рекомендацій контенту.
- Гнучкий аналіз: Завдяки зберіганню даних у форматах, доступних для запитів, Momspresso може легко виконувати спеціальний аналіз.
- Масштабованість: Модульна конструкція дозволяє масштабувати або замінювати окремі компоненти за потреби.
Погляд у майбутнє #
У міру зростання Momspresso цей конвеєр даних відіграватиме вирішальну роль у розумінні поведінки користувачів та наданні персоналізованого досвіду. Ми з нетерпінням чекаємо, як Momspresso використає цю інфраструктуру для вдосконалення своєї платформи та більш ефективного залучення своєї спільноти.
Слідкуйте за нашим наступним постом, де ми заглибимося в систему рекомендацій, побудовану на основі цього конвеєра даних!