본문 바로가기

지식&정보

무료 오픈소스 엘라스틱서치(Elasticsearch)란? 활용 방법과 단점

반응형

 

무료 오픈소스 엘라스틱서치(Elasticsearch)란? 활용 방법과 단점 

엘라스틱서치(Elasticsearch)란 무엇인가에 대해서 개념정리를 하려고 오늘은 글을 작성합니다. 엘라스틱서치(Elasticsearch)는 Apache Lucene 라이브러리를 기반으로 작동합니다. 무료이고 검색과 분석을 담당하고 있습니다. 세계적으로 인기가있고 다양한 언어를 지원하고 있습니다.

엘리스틱서치는 데이터를 검색하는데 사용하는데 모든 종류를 지원합니다. 실시간으로 방대한 양의 데이터를 처리하는데에 장점을 두고 있습니다. 어떤 위치를 지정하고 비정형 데이터를 수집합니다. 수집한 데이터를 구분을하고 저장하고 목차를 만들어 검색을 가능하게 하죠. 컴퓨터 한대로 거미줄처럼 확장하여 쉽게 활용할 수 있지만 규모가 어느정도 있다면 나름 전문가의 도움이 필요합니다. 예를들면 제품, 문서, 이메일 이런것도 쉽게 검색이 가능합지만 다른 차원의 데이터를 그룹화해 데이터를 저장할때 많이 사용됩니다. 검색뿐만이 아니라 데이터를 저장하는 상황에도 유용하다는게 큰 장점이라고 생각합니다. 더 구체적인 예를 들어 드리겠습니다.

 

 



SQL 데이터베이스(DB) 시스템은 용량이 큰 데이터에 대해 검색을하는데 어려움이 있었습니다. 하지만 엘라스틱서치는 다양한 유형의 검색을 수행가능합니다. 또한 로그분석, 다양한 수치데이터를 활용하는데에 더 많이 사용합니다. 그리고 엘라스틱서치는 애초부터 확장이라는 개념을 활용하기 위해 설계되었습니다. 이게 무슨 말이냐면 더 많은 서버를 확장하고 규모가 큰 데이터를 수용가능하게 하죠. 시스템 자체는 복잡할지도 모르겠지만 API를 제공하여 확장하는데 더 쉬워졌습니다. 물론 더큰 시스템을 다루려면 전문가가 필요하다는것도 어쩔수없는 부분이기도 하지만 작은 데이터나 소규모 적인 시스템을 처리할때에는 너무나도 쉽다는것입니다. 아무래도 엘라스틱서치가 인기를 얻게된 가장 큰이유도 여기에 있지 않을까 싶습니다. API를 쉽게 활용할 수 있기때문에 개발자는 엘라스틱서치를 활용하는데에 어려움이 없었습니다. 엘라스틱은 어떤분야에서 활용하는걸까요? 구체적인 사례로 알아봅시다. 

 

 



전자상거래 - 제품에 대해 특징과 재고를 데이터로 잘 저장해 고객이 제품의 속성을 검색하면 이에 알맞는 제품이 실시간으로 표시가 가능해집니다. 말그대로 제품을 찾는데에 빨라진다는것입니다. 

로그분석 - 매일매일 어마어마한 단위의 상황을 처리하여 로그를 분석합니다. 시스템을 유지하는데에 보통 어려움이 있었는데 엘라스틱서치는 그걸 가능하게 합니다.

콘텐츠검색 - 쇼피파이 같은 온라인전자상거래에서 문서를 만들고 저장하여 고객이 콘텐츠를 쉽게 찾을수있도록 도움을 줍니다. 이것에 국한된 이야기가 아니라 비메오는 매일 어마어마한 비디오를 검색할 수 있도록 도움을 주고 있습니다.

라이브채팅 - Live Chat은 약 5억만 문서를 서버에 유지를 하여 즉각적으로 고객에게 실시간 대응하도록 하는 회사도 있습니다.

 

앞서말한 사례뿐만아니라 정말 수많은 회사들이 엘라스틱서치를 활용하여 데이터를 저장하고 검색을 용이하도록 하고 있습니다. 소프트뱅크, 월마트, 페이스북, 스프린트, 슬랙 등 다양한 기업들이 활용하고 있습니다. 하지만 이런 압도적인 강점이 있는데도 불구하고 단점이 존재합니다. 저장소자체를 별도로 지정해야 된다는것입니다. 또한 기본적으로 ACID를 준수하지 않고, GC문제가 있고, 상용하드웨어에서는 실행되지 않습니다.

오늘은 무료 오픈소스 엘라스틱서치(Elasticsearch)에 대해 알아보았고, 활용 방법과 단점에 대해서 간단히 알아보았습니다. 사실 단점보다 강점이 강세이기 때문에 엘라스틱서치를 현재도 많이 활용되고 있는 부분입니다. 사실 거의 모든 프로그램이 그렇습니다. 그렇기 때문에 개념만 간단히 짚고 넘어가는 기회가 되었으면 좋겠습니다.


 

반응형