이번 주 한 일
이외에도 기술적인 방향을 잡기 위한 질문을 정리해오시면 가장 좋습니다!
슬랙을 통해 1차 질문 완료
검색 (목적 : paser 비교 ngram vs stop word)
카테고리 + 검색 (목적 : multi column index와 Covering index 에 대한 이해)
검색 + 필터 (목적 : join이 성능에 미치는 영향, index를 타고 join/서브쿼리를 하는 것과 index를 타지 않고 join을 하지 않는 것에 대한 적절점 찾기)
검색 + 카테고리 + 필터 (목적 : B-tree vs fulltext 비교)
MySQL 인덱스 한계점
인덱스를 여러개 사용하지 못한다.
parser가 stopword와 ngram 밖에 없다. 한글과 영어에 대해 단점이 명확하다. 반면 Elastic Search의 경우 다양한 parser와 더불어 한글 전용 분석기도 있고 커스텀도 가능하다.
와일드카드를 앞에 붙일 수 없다. 그래서 정확한 검색을 하기가 어렵다.
index가 없으면 timeout때문에 검색이 안되는데 인덱스 없을 때 테스트 결과를 얻고 싶으면 어떻게 하면 될지? 타임아웃을 정확히 기재하자,
index를 이정도까지 했는데, 더 파봐야할 지 아니면 했던 것들을 어느정도 정리하고 Elastic Search로 넘어가도 될지(프로젝트 완성적 측면도 있지만, 개발 공부하는 측면도)
세팅이 90%이고 코딩이 10%인거 같은데 맞나요?…
혹시나 시간이 남는다면 지금까지 해본 것들을 더 깊게 파볼까요? 아니면 다중 서버 구현과 연동 같이 안해본걸 해보는게 좋을까요? (이론 vs 더 많은 세팅 경험)
베스트셀러는 기간을 정해서 배치를 돌리는 것이 좋겠다.
검색어 랭킹?
엘라스틱이 죽은 경우? DB를 써야함.
서킷 브레이커 : 엘라스틱이 죽으면 아예 보지 않고 디비로만 돌릴 때 알아볼 것.
해야할 일 정리
더 하면 좋을 거(정말 나중에 생각해보자..)