기술적으로 깊이 다루기 전에, 용어를 정리하고 이것이 어떻게 동작하는지 알아보는 시간을 가지겠습니다.
🎯 엘라스틱서치란?
Elasticsearch는 데이터를 검색하고 분석하는 엔진입니다. 엘라스틱서치는 정형 데이터, 비정형 데이터, 위치 정보, 메트릭 등 다양한 유형의 데이터를 사용자가 원하는 방식으로 검색할 수 있다는 특징을 가지고 있습니다.
🎯 Elasticsearch는 어디에 사용되나요?
Elasticsearch은 수 많은 데이터를 색인하는 능력을 가지고 있습니다. 이 능력을 응용하면 검색과 로그분석, 애플리케이션 성능 모니터링에 엄청난 강점을 가지게 됩니다. 실제로 적용된 선례를 보자면, 대규모 쇼핑몰의 상품검색에 엘라시틱서치가 도입되기도 하였습니다. A라는 상품을 찾으려면 원래 3초가 걸렸는데, 이제는 0.8초가 걸린다고 하네요.
🎯 Logstash와 Kibana란?
Elasticsearch와 뗄 수 없는 도구가 있습니다. 바로 Logstash와 Kibana입니다.Logstash는 데이터를 수집/가공하여 엘라스틱서치로 보내는 역할을 하고 Kibana는 데이터 시각화를 담당합니다. 데이터 시각화란 그래프나 차트로 만들어준다는 의미입니다.
<사진1, Kibana 시각화 예시>
🎯 ELK 스택이란?
ELK 스택은 뭔가 대단하거나 어려운 용어가 아닙니다. 그냥 Elasticsearch, Logstash, Kibana의 앞글자를 딴 것입니다. 여기에 Beats라는 도구가 포함되면 엘라스틱 스택이라고 부릅니다. ELK에 Beats라는 도구가 포함되었으니까, ELKB라고 부를까 고민하다가 좀 이상한거 같아서 엘라스틱 스택이라고 부르기로 했다는 일화가 있네요. 데이터 수집기능을 가진 Beats에 대해서는 다음 시간에 알아보도록 하겠습니다.
🎯 Elasticsearch는 어떻게 작동하나요?
데이터 수집과 가공은Logstash를 통해 이뤄집니다. 가공이란 민감한 개인정보를 지우거나, IP 주소에서 위치 좌표 해독하는 등 필요없는 데이터는 지우고, 개선할 수 있는 것은 개선하는 작업을 말합니다. 가공이 끝난 데이터들은 엘라스틱서치로 전달되어 인덱스(색인) 작업이 시작됩니다. 한번 인덱스되면 이제 복잡한 쿼리를 실행하거나, 데이터를 요약/검색할 수 있게 됩니다. 또한 Kibana를 사용해서 그래프나 차트로 시각화할 수 있습니다.
🎯 Elasticsearch는 무료입니까?
네. 무료라고 생각하시면 됩니다. 정확하게 말하자면 대부분 무료이긴한데 고급기능으로 분류된 기능을 사용하려면 유료 구독을 하셔야합니다. 고급기능 중에는 알람, 리포팅, 머신 러닝 등이 있는데 향후에도 유료일지는 장담하기 어렵네요.
👉 총 정리
Elasticsearch는 데이터를 검색하고 분석하는 엔진입니다.
그리고 ELK 스택은 그냥 Elasticsearch, Logstash, Kibana의 앞글자를 딴 것입니다.