지난 포스팅에서는 DE Toy Project를 기반으로 진행한 팀프로젝트에 대한 회고를 하고 개선방향을 설정했습니다.
이번 포스팅에서는 개선방향을 토대로 데이터 파이프라인 고도화와 새로운 기능을 추가하기 위해 구체화 해보는 시간을 가지겠습니다.
실시간 분석 기능
기술 스택
- Python + Selenium
- Kafka
- Flink OR Spark Structured Streaming
기능 1. 특정 상품 실시간 분석
- 기능 설명
사용자가 원하는 단일 상품에 대한 상품 리뷰를 실시간으로 ETL 및 분석을 진행 - 동작 흐름
- 사용자가 특정 상품 클릭 or 상품 실시간 리뷰 클릭
- 로컬 크롤링 서버에서 해당 상품 리뷰를 멀티프로세싱으로 수집
- 수집된 리뷰는 Kafka에 전송
- Flink 또는 Spark Structured Streaming으로 메시지 처리
- 분석 서버 (FastAPI + LLM)에서 실시간 분석 수행
- 리뷰 요약
- 감정 분석 (긍정/중립/부정)
- 날짜 별 별점 및 감정 추이 분석
- 특징
- 사용자 요청 기반 실시간 트리거
- Kafka > Streaming처리 > 분석 서버 연계
- 분석 결과는 즉시 DW 저장 및 Web화면에서 시각화
기능 2. 검색어 기반 상품 전체 분석
- 기능 설명
사용자가 검색어를 입력하면 관련 검색어에 대한 모든 상품의 리뷰를 분석 - 동작 흐름
- 특정 검색어에 해당하는 상품 10~n개 수집 (기존 구현된 기능과 같음)
- 각 상품 리뷰를 순차 또는 병렬 수집 후 Kafka에 전송
- Flink 또는 Spark Streaming을 통해 실시간 처리
- 상품별 리뷰 긍/중/부 비율, 상품 별 비교(구상중)
배치 분석 기능
기술 스택
- Python + Selenium
- Airflow
- Spark
기능 1. 사용자 등록 상품 주기적 분석
- 기능 설명
- 사용자가 등록한 특정 상품을 주기적으로 크롤링 및 분석
- 크롤링 대상: 가격, 별점, 리뷰 수, 신규 리뷰
- 신규 리뷰에 대해 Spark로 요약/감정 분석 배치 처리
- 동작 흐름
- Airflow Dag를 활용해 일정 시간 단위 작업 예약
- 등록된 상품의 정보 update 및 신규 리뷰 추출
- Spark 클러스터에서 분산 처리 및 결과 DW 저장
- 추출 및 처리 작업 완료 후 분석 작업 배치처리 진행 (분석 서버를 비용 효율적으로 사용하기 위함)
- 기대 효과 및 활용
- 할인 알람
- 판매자 관점에서 신제품 반응 모니터
- 시간 기반 감정 변화 추이
기능 2. 카테고리 기반 분석
- 기능 설명
- 사용자가 등록한 카테고리(예: 스틱청소기)의 상위 N개 상품을 주기적으로 추출
- 추출 및 분석 방식은 위와 동일
- 동작 흐름
- 카테고리 ID를 통해 상품 검색
- 상위 N개 상품의 정보 저장
- 저장된 상품의
- 기대 효과 및 활용
- 카테고리 내 트렌드 파악
- 인기 상품 비교 분석 가능 (가격 변화, 감정 추이 등)
비용 최적화 및 인프라 전략
분석 서버 비용 최적화
- 비용 가장 많이 차지하는 구성: LLM 기반 요약/감정 분석 서버
- 최적화 전략
- AWS EKS 기반 Kubernetes 클러스터 구성
- 분석 서버는 GPU Spot 인스턴스(g5.xlarge 등) 를 사용해 생성
- KEDA 기반 오토스케일링: 요청(Kafka/SQS 등)이 존재할 때만 Pod 생성
- 사용량 적을 땐 자동으로 Scale to Zero
클러스터 비용 제어
- Airflow, Spark, Flink는 비GPU 기반 EC2/Spot으로 운영 가능
- 분석 서버만 GPU 자원 활용 > 비용 절감 극대화
활용 기술 스택 요약
구성 요소 | 기술 | 설명 |
데이터 수집 | Python + 멀티프로세싱 | 쿠팡 리뷰 로컬 크롤링 |
실시간 처리 | Kafka + Flink 또는 Spark Streaming | 리뷰 메시지 실시간 처리 |
실시간 분석 서버 | FastAPI + LLM (kanana-nano, KcELECTRA) | 요약 및 감정 분석 |
배치 스케줄링 | Apache Airflow | 등록 상품 및 카테고리 크롤링 및 분석 |
배치 처리 | Apache Spark (pyspark) | 대용량 리뷰 텍스트 정제 및 분석 |
데이터 저장 | S3, Redshift | 원본 리뷰/분석 결과 저장 |
인프라 자동화 | Terraform, Helm, CI/CD | IaC 및 자동 배포 |
비용 최적화 | AWS Spot, KEDA, GPU on-demand | 분석 서버 비용 최소화 |
'Project' 카테고리의 다른 글
[Project] DE Pro Project (HighPipe) - 프로젝트 개요와 PRD (2) | 2025.08.03 |
---|---|
[Project] DE Toy Project에서 DE Pro Project로 (0) | 2025.07.28 |
[Project] DE Toy Project - 팀 프로젝트 회고 및 고도화 계획 (0) | 2025.07.03 |
[Project] 실시간 쿠팡 리뷰 분석 with Hybrid Cloud (클라우드 아키텍쳐 솔루션 교육과정) (0) | 2025.07.01 |
[Project] DE Toy Project - 데이터 분석(분석 모델 테스트) (2) | 2025.06.25 |