elasticsearch 단독 체제에서 RDB 를 병행하는 체제로 전환하기 (1부, 2024-04-17 기준 미완성, 현재 작성중)
현재 사용하던 서비스가 로그 조회 기능을 메인으로 시작되어 elasticsearch 단독 체제로 사용중에 있었으나
몇가지 이슈사항들이 발생하여 RDB 를 병행하는 방식으로 체제 전환을 고려하게 되었다.
elasticsearch 단독 체제의 문제점
태생이 다름
elasticsearch
는 검색 엔진
으로 태어났다 주 목적이 검색
이다
rdb
는 저장소
로 태어났다 주 목적이 저장
이다
위와 같은 이유로 각자의 메인 역할이 있다
물론 둘다 저장
과 검색
이 가능하나 메인 기능이 아닌 어떻게 보면 부가기능
이므로 한계가 명확하다
1. 높은 메모리 점유율
elasticsearch 는 메모리를 많이쓴다
그 이유는 주 목적이 검색
이기 때문인데,
검색
의 중요 요소는 정확성
과 속도
이기 때문이다
구글에서 키워드를 입력하고 검색 버튼을 눌렀을 때 검색 결과를 보기 까지 10초 이상이 걸린다고 생각하면
많은 스트레스가 예상된다.
그렇기 때문에 elasticsearch
는 검색 성능을 극대화하기 위하여 작업 처리속도가 느린 보조기억장치(하드디스크)
에서 데이터를 바로 검색하기 보다는
메모리 캐싱을 적극적으로 활용하여 높은 검색 성능
을 발휘환다.
대표적으로 캐싱되는 데이터들은 아래와 같다