본문 바로가기

JAVA

[엘라스틱서치] 엘라스틱서치(Elasticsearch)란?

이번에 회사에서 엘라스틱서치를 이용한 로그파일 분석 시스템을 만들 예정이다.

그리하여, 2년~3년전에 잠깐 어떤건지만 봤었던 엘라슽틱서치(Elasticsearch)를 조금 자세히 공부해보도록 하자!

 

위키백과에는 이렇게 정의되어있었다.

 

Elasticsearch는 루씬 기반의 검색엔진이며 HTTP 웹 인터페이스와 스키마에서 자유로운 Json 문서와 함께 분산 멀티테넌트 지원 전문 검색엔진을 제공한다.

여기서 가장 중요한 것은 분산 멀티텐넌트라고 말한수 있겠다, 사용자는 동일한 물리적, 논리적 시스템을 공유하며 독립적으로 동작이 가능하며 이는 클라우드 컴퓨팅의 중요 기능중 일부이다. 

 

자바로 구현된 엘라스틱서치는 아파치 라이선스이며 오픈소스로 출시되어있다. 공식 클라이언트는 자바, C#, PHP, 파이썬, 그루비 등 수많은 언어로 이용이 가능하다고 한다.

 

일래스틱서치는 로그스태시(Logstash)라는 이름의 데이터 수집 및 로그 파싱 엔진, 그리고 키바나(Kibana)라는 이름의 분석 및 시각화 플랫폼과 함께 개발되어 있다. 이 3개의 제품들은 연동 솔루션으로 사용할 목적으로 설계되어 있으며 이를 "일래스틱 스택"(Elastic Stack, 과거 이름: ELK 스택)으로 부른다. (https://ko.wikipedia.org/wiki/%EC%9D%BC%EB%9E%98%EC%8A%A4%ED%8B%B1%EC%84%9C%EC%B9%98)

 

 

엘라스틱 서치는 모든 종류의 문서를 검색하는데 사용가능하다.

자바, C#등 내가 익숙한 언어로 클라이언트를 구현 할 수 있을 것 같다.

NoSQL 데이터스토어의 역할에 적합하다고 한다(분산 트랜잭션 면에서는 부족하다고하네)

 

우선 위키에서 모든 글을 끄적거리며 공부해보았다. 내일은 구조등 더 상세히 공부해보도록 하자!