이 문서는 머신러닝 섹션의 일부입니다.
왜 온라인 서빙이 필요한가요?
ML 모델이 실시간으로 예측을 수행하려면, 입력 피처도 실시간으로 조회 할 수 있어야 합니다. 예를 들어, 고객이 결제 버튼을 누른 순간 사기 탐지 모델이 동작하려면, 해당 고객의 최근 거래 패턴, 평균 결제 금액 등의 피처를 수 밀리초 안에 가져와야 합니다. 일반 Delta 테이블은 대량 데이터 스캔과 집계에 최적화되어 있어, 단건 키 기반 조회(Point Lookup)에는 적합하지 않습니다. 이 문제를 해결하기 위해 Online Table 이 필요합니다.💡 Feature Store 패턴: 오프라인 스토어(배치 학습용)와 온라인 스토어(실시간 서빙용)를 분리하되, 동일한 피처 정의를 공유하는 것이 현대 ML 아키텍처의 핵심 패턴입니다. 이를 통해 학습-서빙 편향(Training-Serving Skew) 을 방지할 수 있습니다.
온라인 스토어 vs 오프라인 스토어
💡 Training-Serving Skew(학습-서빙 편향): 학습 시 사용한 피처와 서빙 시 사용하는 피처가 달라서 모델 성능이 저하되는 현상입니다. Online Table은 오프라인 Feature Table과 자동 동기화되므로 이 문제를 근본적으로 해결합니다.
Databricks Online Tables 상세
아키텍처
- Feature Table(Delta Lake)에 피처 데이터가 저장됩니다
- Online Table이 Change Data Feed(CDF) 를 통해 변경 사항을 자동으로 동기화 합니다
- Model Serving 엔드포인트가 예측 요청을 받으면, Online Table에서 피처를 자동 조회 합니다
- 클라이언트는 Primary Key만 전송 하면 됩니다 (피처를 직접 전달할 필요 없음)
동기화 메커니즘
Online Table은 소스 Delta 테이블의 변경 사항을 세 가지 모드로 동기화합니다.💡 TRIGGERED/CONTINUOUS 모드 를 사용하려면 소스 테이블에 Change Data Feed(CDF) 가 활성화되어 있어야 합니다. CDF는 Delta 테이블의 행 수준 변경 이력을 추적하는 기능입니다.
지연시간 특성
Online Table 생성 방법
방법 1: SQL로 생성
방법 2: UI로 생성
- Catalog Explorer 에서 소스 Feature Table로 이동합니다
- 우측 상단 “Create Online Table” 버튼을 클릭합니다
- Online Table 이름, 동기화 모드를 설정합니다
- **“Create”**를 클릭하면 동기화가 시작됩니다
방법 3: Python SDK로 생성
동기화 상태 확인
모델 서빙에서 Online Table 활용
FeatureFunction으로 자동 피처 조회
Online Table의 가장 큰 장점은 Model Serving 엔드포인트에서 피처를 자동으로 조회 하는 것입니다. 클라이언트는 Primary Key만 전송하면 됩니다.
💡 핵심 포인트: fe.log_model()로 로깅된 모델은 어떤 Feature Table에서 어떤 피처를 조회해야 하는지 메타데이터에 자동 기록 됩니다. 이 모델을 서빙 엔드포인트에 배포하면, Online Table에서 피처를 자동으로 조회합니다.
엔드포인트에서의 실시간 조회
실습: Online Table 생성부터 모델 서빙까지
Step 1: Feature Table 준비
Step 2: Online Table 생성
Step 3: 모델 학습 및 로깅 (피처 조회 포함)
Step 4: 서빙 엔드포인트 배포
엔드포인트를 생성하면, 모델 메타데이터에 기록된 Feature Table에 대응하는 Online Table에서 피처를 자동 조회합니다.성능 최적화
Primary Key 설계
테이블 크기 관리
캐싱 전략
- Model Serving 엔드포인트는 자주 조회되는 키에 대해 자동 캐싱 을 수행합니다
- CONTINUOUS 모드에서는 캐시가 변경 사항에 따라 자동 무효화됩니다
- 캐시 적중률이 높을수록 P50 지연시간이 개선됩니다
모범 사례 및 제한사항
모범 사례
제한사항
⚠️ 비용 고려: Online Table은 프로비저닝된 용량(CU) 단위로 과금됩니다. 테이블 크기와 조회 트래픽에 맞는 적절한 CU를 선택하시기 바랍니다.