1단계 문제 이해 및 설계 범위 확정
요구사항
- 빠른 응답 속도
- 연관성
- 정렬
- 규모 확장성
- 고가용성
개략적 규모 추정
- 일간 천만명, 한 사용자 당 매일 10건의 검색 수행
- 질의마다 평균 20 byte 입력
- 글자 입력시마다 백엔드에 요청을 보냄 즉 20건의 요청 전달
- 초당 24,000건의 질의 발생(10,000,000user10queries/1day20characters/24h/3600s)
- 최대 qps = qps*2 = 48,000
- 매일 0.4GB의 신규 데이터가 추가됨
2단계 개략적 설계안 제시 및 동의 구하기
- 데이터 수집 서비스
- 사용자가 입력한 질의를 실시간으로 수집하는 시스템
- 질의 서비스
- 주어진 질의에 인기 검색어를 정렬해 내놓는 서비스
데이터 수집 서비스
-
질의별 빈도 테이블
질의(query) |
빈도(frequency) |
twitch |
1 |
twitter |
2 |
질의 서비스
- ‘tw’를 입력하면 top5 자동완성 검색어가 표시되어야 한다.