Elastic Search 도 서버 문장 검색용 데이터 저장
백앤드에서 DB에도 저장하고 ES서버에도 저장을 따로따로 할 수 있으나, 이렇게 하게되면 문제가 발생 할 수 있다. 만약 ES에 저장하기 전에 컴퓨터가 꺼지게 되면 DB에는 저장이 됬으나, ES에는 데이터가 저장되지 않아 DB와 ES의 데이터가 동기화가 되지 않을 수 있다. 이럴땐 따로따로 저장하는것이 아니라 Logstash를 사용한다. Logstash는 기록을 하고 마지막다음부터 기록을 polling해와서 데이터를 ES에 전달하여 동기화를 시킬 수 있다.
<Redis에 저장된 데이터가 없을경우의 데이터검색>
1) 문장을 검색하고 싶으면 ES에 넣어두고(메인DB가 아니다.)
2) 단순히 단어를 검색하는거면 Main DB에 저장한다.
ES는 rest-api를 사용한다. 브라우저를 열고 주소에 ES의 주소를 입력 후 localhost:9200/board(테이블명)/1 이라고 작성하면 ES의 board테이블의 1번에 있는 데이터를 볼 수 있다. mysql 처럼 dbeaver 같은 도구를 사용하지 않아도 데이터를 확인 할 수 있다. 물론 ES를 위한 도구가 있다. Kibana는 ES데이터를 조금 더 쉽게 조회 할 수 있고, 데이터를 통계를 내어 그림으로 나타내는 기능도 있다. 쉽게 말해 dbeaver = kibana라고 생각하면 된다. 앞에 다루었던 Elastic Search와 Logstash와 Kibana의 앞자를 따서 ELK 스택이라고 부른다. ES는 보통 용량이 큰 데이터를 저장하는 경우가 일반적이므로 한대의 컴퓨터로 사용하진 않고 여러대의 컴퓨터에 실행시켜 각각의 컴퓨터들을 네트워크로 연결하여 사용한다. !