Customer Data Platform
흩어진 고객 데이터를 통합·세그먼트화해 저지연으로 서빙하는 consent-native 플랫폼
핵심 개념
Customer Data Platform(CDP)은 여러 소스에 흩어진 고객 데이터를 통합해 audience segment(규칙 기반 사용자 식별자 컬렉션)를 정의·계산·서빙하는 플랫폼이다. freshness·저지연·consent 강제·cost·correctness가 동시에 균형을 이뤄야 하며, 대부분 서로 trade-off 관계다.
4-Stage 아키텍처 (Razorpay 사례)
규칙 정의
segment는 JSONB AND/OR/NOT 조건의 named 컬렉션(avg_order_value eq 5000 AND loyalty_enrolled eq false).
Stage 1 — Segmentation DAG
- Airflow DAG가 JSONB 규칙 트리를 파싱해 참조된 attribute만 추출(targeted load plan) — 수억 행 테이블의 naive join은 Spark 메모리 폭발
- Spark가 멤버십 리스트 생성 → S3(KMS 암호화)
- segment 재사용: deterministic hash로 의미 동일 규칙 탐지(canonicalisation — A AND B = B AND A, 연산자 정규화·조건 정렬·중첩 평탄화) → 재계산 회피
Stage 2 — Ingestion (이중 경로)
- S3-backed(배치): 경량 — 검증·상태 업데이트·Kafka 이벤트, 초 단위 완료
- DynamoDB-backed(실시간): Temporal workflow(event validation → import → version promotion → lineage, 독립 재시도). zero-downtime refresh: 각 refresh가 새 테이블 버전(vN), 검증 후 포인터 전환(import 실패 시 기존 버전 계속 서빙)
Stage 3 — Serving
- segment당 1 DynamoDB 테이블(traffic·용량·lifecycle·실패 격리)
- privacy-preserving 멤버십 체크: partition key = phone의 SHA-256 hash. caller가 pre-hashed ID 전송 → boolean 응답. serving 레이어가 raw phone을 결코 받지 않음
Theta Sketch 추정 엔진
전체 파이프라인 실행 없이 segment 크기를 빠르게 추정:
- HLL은 union만 효율적이나 intersection/difference에서 inclusion-exclusion 오차가 compound → Theta Sketch가 set 연산을 직접 지원(predictable error bound)
- attribute-value쌍마다 Theta Sketch 사전 생성(Data Sketches 참조) → 쿼리 시 규칙 트리를 set 연산으로 평가 → 초 단위 추정
- 효과: multi-hour → sub-second iteration, audience planning 인터랙티브화
핵심 교훈
- compute reuse > compute optimization: 30% 빠른 잡은 일회성, 잡을 안 돌리는 것은 영구적. deterministic hash 재사용이 최대 cost lever
- hash before you store: privacy-preserving 멤버십 체크는 compliance 기능이자 아키텍처 단순화 — serving 레이어가 보호할 PII를 애초에 안 가짐
- approximate가 보통 충분: 대부분 audience planning은 정확한 count가 아닌 confidence interval만 필요
연관 개념
- Entity Resolution — 여러 결제 수단·기기를 같은 고객으로 통합
- Data Sketches — Theta Sketch 기반 추정
- Data Governance — consent-scoped 처리(DPDPA), PII 격리
- Ad Tech Data Infrastructure — audience segment의 캠페인 활용
- Workflow Orchestration — Temporal/Airflow 기반 파이프라인