프로젝트 소개

Spectrum은 Amplitude와 Mixpanel 같은 상용 플랫폼에 대한 오픈소스 대안으로 설계된 셀프호스트형 제품 분석 웨어하우스입니다. 이 프로젝트는 PostgreSQL 전용 아키텍처가 외부 메시지 브로커나 빅데이터 프레임워크 없이 이벤트 수집, 세션화, 퍼널 분석, 코호트 유지율, 수익 귀속, A/B 테스트를 처리할 수 있는 방법을 보여줍니다. 시스템은 FastAPI 엔드포인트를 통해 원시 클릭스트림 이벤트를 수집하고, `FOR UPDATE SKIP LOCKED` 배치 클레임 기반의 멱등 ELT 파이프라인을 통해 처리하며, 윈도우 함수를 통한 30분 세션 경계와 계정 수준 차원별 주간 전환 퍼널을 포함한 분석 구성요소를 순수 SQL로 계산합니다. MATERIALIZED VIEW는 Grafana 대시보드를 위한 사전 집계 지표를 제공하고, 행 수준 보안은 테넌트 데이터를 격리합니다. 주요 아키텍처 패턴에는 스테이징, 웨어하우스, 분석 레이어를 분리하는 3개 스키마 설계; 파티션 프리딩이 적용된 월별 범위 파티셔닝 fact 테이블; 시간순 이벤트 타임스탬프용 BRIN 인덱스; 잘못 된 페이로드용 데드 레터 큐; 중복 처리 없이 동시 러너 인스턴스를 허용하는 컨커런트 안전 파이프라인 실행이 포함됩니다. 이 프로젝트는 Alembic 마이그레이션, Prometheus 메트릭 노출, 정확한 퍼널 비율과 유지율 격리를 검증하는 통합 테스트, 파티션 프리딩 속도 향상을 보여주는 벤치마크 스크립트를 함께 제공합니다. 배포는 Podman 컨테이너를 통해 PostgreSQL, API 서버, Grafana를 오케스트레이션하며, 단일 `make demo` 명령으로 모든 것을 프로비저닝하고 시뮬레이션된 사용자 활동을 생성하며 변환 파이프라인을 실행하고 시각화 계층을 시작합니다.