Introduction to Project KlickLab

이순간·2025년 7월 18일
3

MyOwnWeapon

목록 보기
2/12
post-thumbnail

프로젝트 개요

클릭랩(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 차트)
  • 세그먼트 필터 및 행동 기반 요약 카드
  • 트렌드 기반 차트 분석
profile
서툴지언정 늘 행동이 먼저이기를

0개의 댓글