프로젝트 개요
클릭랩(KlickLab)은 웹사이트에서 발생하는 사용자 행동 데이터를
실시간으로 수집하고 분석하는 고성능 웹 애널리틱스 플랫폼이다.
클릭랩은 웹사이트 방문자의 클릭스트림(Clickstream)을
빠르고 정확하게 기록하고 분석하여,
기업이 사용자 행동에 기반한
데이터 중심의 의사결정을 할 수 있도록 지원한다.
기능적으로 구글 애널리틱스(Google Analytics)와 유사한 역할을 수행한다.

프로젝트 목적
클릭랩은 웹 애널리틱스 환경에서 요구되는 성능과 유연성 문제를 다음과 같이 해결하고자 한다.
- 초고속 데이터 처리: 초당 수만~수십만 건 이상의 사용자 이벤트를 안정적으로 처리
- 유연한 분석 쿼리: 다양한 조건과 관점에서 데이터를 실시간으로 분석하고 집계할 수 있는 고성능 쿼리 지원
핵심 기능
실시간 사용자 데이터 수집
- 사용자의 클릭, 페이지 뷰, 스크롤 등의 행동 이벤트를 실시간으로 수집
- 데이터 수집부터 분석까지의 지연 시간 최소화(10분)
쿼리 및 분석
- 사용자 행동 데이터를 다양한 조건으로 고속 분석할 수 있는 쿼리 기능 제공
효율적인 저장소
- 데이터 저장 및 조회 속도를 극대화하기 위한 컬럼 기반 데이터베이스(ClickHouse) 활용
아키텍처의 특장점
- 쓰기/읽기 분리(Write/Read Separation): 높은 쓰기 성능을 요구하는 데이터 기록(write-only 서버)과 복잡한 분석 쿼리를 처리하는 조회(read-only 서버)를 별도로 구성하여 성능 최적화
- 분산 데이터 관리: 데이터의 복제와 동기화를 통해 안정성 및 가용성 극대화
사용된 주요 기술 스택
- AWS 클라우드 인프라: Amazon EC2, AWS Lambda, Kafka, 네트워크 로드 밸런서(NLB) 등 다양한 AWS 서비스를 활용하여 높은 가용성과 안정성 확보
- ClickHouse 데이터베이스: 방대한 이벤트 데이터를 효율적으로 처리하고 분석하는 데 특화된 컬럼 기반 데이터베이스로, 뛰어난 성능과 압축률을 제공
- ClickHouse Keeper: ClickHouse 데이터베이스의 복제 및 데이터 동기화를 담당하는 고성능 분산 코디네이션 서비스 (ZooKeeper 호환)
이유
웹 분석 도구 시장은 이미 Google Analytics, Mixpanel 같은 강력한 선도 제품들이 자리잡고 있다.
이들이 구축한 기술 스택은 복잡하면서도 고도화되어 있으며,
그만큼 명확하고 지속적인 수요가 존재한다는 사실을 직접 확인할 수 있었다.
Our Goal
- 실시간 데이터 수집부터 가공, 시각화까지 전 과정을 직접 구현
- 그 과정에서 발생하는 수많은 문제를 직접 해결하며 역량 강화
- 복잡한 시스템 구조를 이해하고 기술에 대한 내실을 다지기
SDK 기반 이벤트 수집
- 웹 페이지에
<script>
한 줄로 간단히 연동
- 자동으로 page_view, click, form_submit 등의 주요 이벤트 수집
- CDN 및 NPM 패키지로 배포 완료
실시간 데이터 처리 및 적재
- 수집된 이벤트를 Kafka-Lambda 파이프라인을 통해 ClickHouse에 실시간 저장
- 초당 수만 건 이상의 이벤트도 무리 없이 처리 가능
데이터 시각화 및 분석 기능
- 전환 흐름 분석 (Conversion Summary)
- 사용자 여정 시각화 (Sankey 차트)
- 세그먼트 필터 및 행동 기반 요약 카드
- 트렌드 기반 차트 분석