대용량 데이터 처리 프로젝트 기획

Ariul·2022년 8월 29일
0
post-thumbnail

6주 동안 실전 프로젝트를 진행하면서 학습한 내용을 기록하고, 팀의 리더로서 프로젝트 매니징 경험을 기록하는 시리즈입니다.


프로젝트 진행 일정

주차일정
1MVP 기획 및 개발
2MVP 완성 및 중간 발표
3피드백 바탕으로 수정 및 보완 + 대용량 데이터 모으기
4대용량 트래픽 처리하기
5대용량 트래픽 처리하기
6프로젝트 완성 및 최종 발표

MVP 기획

프로젝트 설명

  • 프로젝트 목표: 검색 시스템을 활용하여 대용량 트래픽 처리 경험하기
  • 프로젝트 이름: Coogle
  • 프로젝트 설명: 재료를 검색하면 해당 키워드가 포함된 레시피를 제공하는 서비스입니다.
  • 기술 스택: Spring

와이어프레임

  1. 메인 페이지 메인페이지
  2. 회원가입, 로그인 모달창
    회원가입 로그인
  3. 게시글 작성 페이지 게시글 작성
  4. 게시글 조회 페이지 전체 조회 상세 조회

시나리오 및 기능 정리

  • 회원가입을 한다.

  • 로그인을 한다.(JWT)

  • ‘재료’를 키워드로 검색한다. ex. ‘당근’, ‘양파’, ‘감자’

  • 전체 조회 페이지에서 검색 결과를 보여준다.

    • 해당 키워드를 포함한 모든 레시피의 이미지와 제목을 카드 형식으로 보여준다.
      • ‘정확도순’ ‘최신순’ ‘찜하기순’ 으로 정렬할 수 있다.
      • ‘난이도’ 필터로 정렬할 수 있다.
      • ‘음식종류’ 필터로 정렬할 수 있다.
    • 싫어하는 재료나 알레르기 유발 재료가 있다면 필터를 통해 제외할 수 있다.
  • 마음에 드는 레시피를 찜할 수 있다.

  • 게시글을 작성하여 레시피를 등록할 수 있다.

    • 필수값! 제목, 내용(레시피), 이미지 업로드, 난이도, 음식 종류 지정.
  • 데이터 생성 및 수집 전략

    • 유저가 게시글 작성을 통해 등록한 레시피
    • ‘만개의 레시피’ 크롤링(184,000건)
    • 더미데이터 생성(주력)-Faker Library

ERD 설계

ERD

ElasticSearch 사용할까?

  • 쿼리를 쓰다가 유의미한 값의 데이터가 쌓이면 변환하기
  • ElasticSearch는 MySQL이랑 연동할 수 있음
    ⇒ 우리는 RDB 를 쓰고 ElasticSearch 로 검색하는 것
profile
정성과 진심을 담아 흔적을 기록하자💡

0개의 댓글