메인 콘텐츠로 이동하기
  1. 내 글/

Momspresso를 위한 확장 가능한 데이터 파이프라인 구축: 콘텐츠 개인화 강화

끊임없이 진화하는 디지털 환경에서 Momspresso와 같은 콘텐츠 플랫폼은 사용자에게 개인화된 경험을 제공하기 위해 강력한 데이터 인프라가 필요합니다. 오늘은 Momspresso를 위해 구축한 확장 가능한 데이터 파이프라인에 대한 통찰을 공유하고자 합니다. 이 파이프라인은 그들의 분석과 추천 시스템을 지원합니다.

과제 #

Momspresso는 다음과 같은 기능을 갖춘 시스템이 필요했습니다:

  1. 실시간으로 사용자 이벤트 캡처
  2. 대용량 데이터를 효율적으로 처리하고 저장
  3. 사용자 행동에 대한 빠른 분석과 시각화 가능
  4. 개인화된 콘텐츠 제공을 위한 추천 엔진 지원

우리의 해결책: 종합적인 데이터 파이프라인 #

이러한 요구사항을 해결하기 위해 다음과 같은 다중 구성요소 데이터 파이프라인을 설계했습니다:

1. Python 이벤트 SDK #

Momspresso의 코드베이스 전반에 통합될 수 있는 간단한 Python 클래스를 개발했습니다. 이 SDK를 통해 개발자들은 기본 코드를 작성하지 않고도 쉽게 사용자 상호작용을 추적할 수 있습니다.

2. 이벤트 웹 서비스 #

이 서비스는 SDK로부터 이벤트를 받아 간단한 유효성 검사 후 Kafka로 전송합니다. 모든 사용자 상호작용 데이터의 진입점 역할을 합니다.

3. Apache Kafka #

높은 처리량과 내결함성 설계로 인해 Kafka를 메시지 브로커 및 발행-구독 시스템으로 선택했습니다. 현재는 단일 머신에서 실행되지만 Momspresso의 성장에 따라 확장할 준비가 되어 있습니다.

4. 데이터 캡처 시스템 #

이 구성요소는 Kafka의 모든 이벤트를 수신하여 PostgreSQL 데이터베이스에 삽입합니다. Postgres의 JSON 기능을 활용하여 유연하고 쿼리 가능한 데이터셋을 만들었습니다.

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가 이 인프라를 활용하여 플랫폼을 개선하고 커뮤니티를 더욱 효과적으로 참여시키는 방법을 보게 되어 기대됩니다.

다음 포스트에서는 이 데이터 파이프라인을 기반으로 구축된 추천 시스템에 대해 자세히 살펴보겠습니다!