TL;DR
사기 탐지와 개인화 모델은 장기 사용자 기준선만으로는 최근 행동 변화를 놓치므로 Kafka에서 들어오는 이벤트를 밀리초 단위로 피처에 반영해야 합니다. Databricks Feature Store는 Spark Real-Time Mode가 각 이벤트를 연속 처리하고 RocksDB에서 롤링 윈도 상태를 갱신한 뒤 Lakebase에 최신 값을 쓰도록 구성하며, Model Serving은 추론 시 해당 피처를 자동으로 가져옵니다. RTM은 마이크로배치 대신 동시 실행과 분산된 체크포인트를 사용하고, Lakebase는 소규모 upsert의 WAL 쓰기 증폭을 낮춰 이 경로를 뒷받침합니다. Kafka 이벤트부터 온라인 피처 가용성까지 end-to-end p99 latency는 200ms이며, 장애 시 최대 5분 데이터를 재생하는 방식으로 exactly-once 처리를 유지합니다.
섹션별 상세


용어 해설
- 롤링 윈도 집계(Rolling Window Aggregation)
- — 각 이벤트의 타임스탬프를 기준으로 직전 일정 구간의 합계·평균·개수를 다시 계산하는 방식입니다. 고정된 시계 경계가 아니라 새 이벤트가 들어올 때마다 윈도가 이동하며, 만료된 이벤트의 기여분을 제거해 현재 시점에 가까운 값을 유지합니다. 실시간 사기 탐지나 개인화처럼 최신 이벤트가 즉시 반영되어야 하는 피처에 중요합니다.
- 마이크로배치 처리(Microbatch Processing)
- — 스트리밍 데이터를 짧은 시간 단위의 배치로 모아 처리하는 실행 방식입니다. 각 배치가 수집되고 여러 처리 단계를 거친 뒤 체크포인트가 기록되므로, 이벤트가 도착한 즉시 집계하지 못하고 배치 주기와 처리 시간만큼 지연이 생깁니다. 원문에서는 Spark Real-Time Mode와 대비되는 기존 방식으로 제시됩니다.
- RocksDB 상태 저장소(RocksDB State Store)
- — 상태 기반 스트리밍 연산에서 엔터티별 중간 집계값과 만료 정보를 저장하는 로컬 저장소입니다. 각 executor가 보유한 RocksDB에 이벤트별 상태를 기록하므로 새 행이 들어올 때 값을 즉시 증가시키거나 만료된 기여분을 제거할 수 있습니다. 메모리보다 큰 상태도 처리할 수 있다는 점이 실시간 윈도 집계에 활용됩니다.
- 쓰기 전 로그(Write-Ahead Log (WAL))
- — 데이터 변경을 먼저 로그에 기록해 장애 복구와 내구성을 보장하는 저장 방식입니다. 표준 Postgres에서는 한 페이지의 첫 변경 때 작은 논리 변경 대신 전체 8KB 페이지 이미지를 기록할 수 있어, 빈번한 소규모 upsert에서 로그량이 커지는 문제가 생깁니다. Lakebase는 분산 저장 구조를 이용해 작은 변경 레코드 중심으로 쓰기 증폭을 줄입니다.
- 시점 일치 조인(Point-in-Time Join)
- — 학습 시점에 실제로 이용 가능했던 피처 값만 연결하는 데이터 결합 방식입니다. 과거 이벤트와 피처의 유효 시점을 맞춰 미래 정보가 학습 데이터에 섞이는 것을 막고, 스트리밍 피처의 과거 값을 다시 계산할 때도 동일한 시간 기준을 유지합니다. 원문에서는 오프라인 학습 데이터 생성과 온라인 피처 backfill에 사용됩니다.
기술
- Databricks Feature Store
- Kafka
- Spark Real-Time Mode (RTM)
- Lakeflow Spark Delta Pipelines
- RocksDB
- Lakebase
- streaming JDBC sink
- Model Serving
- MLflow
- Unity Catalog
- Postgres
활용 사례
- 실시간 신용카드 사기 탐지
- 사용자 행동 기반 개인화
- 클릭스트림과 광고 노출 집계
- 최근 거래액과 장기 구매 기준선을 결합한 결제 승인
- 실시간 피처를 사용하는 저지연 모델 추론
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.