Перейти к содержанию
  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. Система представления данных #

Этот компонент выполняет ряд эвристик и моделей для определения атрибутов пользователя, обновляя отдельную базу данных представлений пользователей.

8. База данных представлений данных PostgreSQL #

Эта база данных хранит обработанные представления пользователей, обеспечивая быстрый доступ к производным данным пользователей.

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

Используя базу данных представлений данных, Metabase позволяет Momspresso создавать пользовательские панели мониторинга и отчеты с помощью SQL-запросов.

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

Умный сервис пикселя 1x1, который назначает уникальную подпись в куки для каждого пользователя, позволяя нам отслеживать пользователей между сессиями.

Мощь этого конвейера #

Этот конвейер данных расширяет возможности Momspresso несколькими способами:

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

Взгляд в будущее #

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

Следите за нашим следующим постом, где мы углубимся в систему рекомендаций, построенную на основе этого конвейера данных!