적정 엔지니어링으로 검색 속도 10x 빠르게 만들기
(engineering.ab180.co)상황에 맞는 과하지 않은 엔지니어링으로 검색 서비스를 개선한 사례입니다.
문제의 인식
- 느려지는 검색 서비스
- Join과 검색을 위한 정규식 사용으로 인한 복잡성 문제 인식
문제 해결 전략
- 초기 Elasitcsearch를 고민했었음
- Main DB랑 실시간성, 많은 양의 영구 보존 데이터를 다뤄야함으로 비용 이슈 존재
- 단순화된 검색 전용 테이블을 구성하고 검색 쿼리 구축
- 데이터 적재를 위해 MySQL Trigger 적용
성과
- 3분 걸리던 쿼리를 2초로 개선
- 과하지 않은 엔지니어링으로 빠른 시간에게 고객 가치 전달
접속양이 많은 대용량 사이트 만들때 사용하는 한개의 데이터에 대한 테이블을 여러개 만들어서 용도를 나누는 방법을 적용 했네요
고객용 관리자용 이렇게 두개로 나누기도 하는데 검색용으로 용도를 지정해서 잘 적용한 사례네요