사용자 시퀀스 데이터를 더 비용 효율적이고, 빠르고, 사용하기 쉽게 만들기
·2026.05.22 01:01
Pinterest는 '하나의 정의로 여러 런타임 지원' 방식을 도입해 사용자 시퀀스 데이터 플랫폼의 비용 효율성과 일관성을 개선했다.
사용자 시퀀스는 최근의 관련 이벤트와 풍부한 신호(enrichments)를 포함하는 정렬된 목록으로, 랭킹, 검색, 추천 시스템의 핵심 데이터다. 하지만 기존 방식은 학습용 데이터와 실시간 서빙용 데이터를 생성하는 과정이 달라 데이터 불일치가 발생하거나, 새로운 신호를 추가할 때마다 복잡한 파이프라인을 구축해야 하는 비용 문제가 있었다.
Pinterest는 이를 해결하기 위해 **'하나의 정의로 여러 런타임 지원(One Definition, Many Runtimes)'**이라는 핵심 원칙을 도입했다. 신호나 이벤트 타입을 한 번만 정의하면, 이를 실시간 인덱싱, 배치 인덱싱 및 백필, 온라인 서빙이라는 세 가지 서로 다른 워크로드에서 동일하게 사용할 수 있다.
이 플랫폼은 다음과 같은 6가지 핵심 요소로 구성된다:
- 수집(Ingestion): 스트림 및 배치 데이터 수집
- 풍부화 및 실행 계층(Enrichment and execution layer): 공유 실행 엔진을 통한 데이터 변환
- 실시간 인덱서(Real-time indexer): 저지연 업데이트를 위한 스트리밍 작업
- 배치 인덱서 및 백필 파이프라인(Batch indexer and backfill pipeline): 역사적 데이터 처리
- 컬럼형 시계열 저장소(Columnar, time-partitioned storage): 효율적인 읽기 및 저장
- 온라인 서빙 API(Online serving API): 클라이언트 요청에 따른 시퀀스 제공
특히 Configuration-as-Code 방식을 채택하여, 새로운 이벤트나 신호를 추가할 때 파이프라인 전체를 새로 만드는 대신 Python 기반의 설정 변경만으로 빠르게 배포할 수 있도록 했다. 이를 통해 데이터 일관성을 유지하면서도 운영 비용을 절감하고 개발 속도를 획기적으로 높였다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.
관련 추천
PPinner Progression: Pinterest의 주간 활성 사용자(WAU) 성장을 이끄는 더 나은 유즈케이스 표현 방식PPinner Progression: 유스케이스 표현력 개선을 통한 Pinterest의 주간 활성 사용자(WAU) 성장 동력 확보P대규모 인프라 보안: Pinterest의 Resource Provisioner Pipeline(RPP) 소개P대규모 인프라 보안: Pinterest의 Resource Provisioner Pipeline(RPP) 소개PPinterest 파운데이션 모델의 학습 확장성을 선형에 가깝게 달성하는 방법PPinterest의 차세대 DB 인제스션 프레임워크 내 자동 스키마 에볼루션