오늘날 표준 애플리케이션의 가장 일반적인 요구 사항은 검색과 분석 기능이다. 시장에서 이러한 수요에 부응하는 솔루션은 상용과 오픈소스 세계에서 모두 찾을 수 있다. 검색하기 위해 가장 많이 사용하는 라이브러리 중 하나는 아파치 루씬이다. 이 라이브러리가 아파치 솔라(Apache Solr), 인덱스탱크(Indextank), 일래스틱서치 같은 수많은 검색 솔루션의 기반이 된다.
일래스틱서치는 클라우드와 분산 컴퓨팅을 염두에 두고 만든 가장 강력한 솔루션 중 하나다. 컴패스(Compass, http://www.compass-project.org) 개발로 유명한 일래스틱서치의 주요 저자인 셰이 바논(Shay Banon)이 2010년 3월에 일래스틱서치 첫 버전을 발표했다. 따라서 일래스틱서치의 주요 범주는 검색 엔진이다. 또한 집계 프레임워크를 통해 데이터 저장소와 분석 엔진으로도 사용할 수 있을 정도로 많은 기능을 제공한다.
일래스틱서치는 JSON REST 기반, 검색과 분석 모두를 위한 분산된 접근 방식의 맵리듀스, 쉬운 설치와 플러그인을 통한 확장성 같은 수많은 혁신적인 기능을 제공한다.
2010년 개발하기 시작한 때로부터 최신 버전(6.5)에 이르기까지, 많은 시장에서 가장 많이 사용되는 데이터 저장소 중 하나가 된 제품으로 큰 발전을 했다. 이 책에서는 일래스틱서치에서 변경 사항과 많은 기능에 대해 깊이 들여다본다.
일래스틱서치는 지속해서 혁신을 거듭하는 제품이며, 새 기능은 일래스틱서치 회사와 일래스틱서치 사용자에 의해 플러그인(대부분 깃허브를 통해 배포한다)으로 출시된다. 단순성과 고급 기능 때문에 오늘날 IT 산업에 몸담은 많은 세계적인 주요 플레이어가 일래스틱서치를 사용하고 있다.
필자는 일래스틱서치가 시장에서 가장 강력하고 쉽게 사용 가능한 검색 솔루션 중 하나라고 생각한다. 이 책과 예제를 쓰면서, 나와 이 책의 감수자는 지식을 더 잘 관리하기 위해 지식과 열정, 모범 사례를 이 책을 통해 전달하려고 노력했다.
일래스틱서치는 루씬 기반의 분산 검색 서버로, 페타바이트 규모의 구조화되지 않은 콘텐츠를 색인하고 검색할 수 있다. 또한 일래스틱서치 7.x의 새로운 기능 및 복잡한 쿼리와 분석을 작성하고 실행할 수 있는 유용한 예제들을 제공한다.
이 책은 일래스틱서치를 이용한 색인, 매핑, 집계, 스크립트 예제들로 가득하다. 이를 통해 일래스틱서치 노드를 배포하고 다른 도구를 통합해 다양한 시각화를 작성하는 작업을 수행할 수 있으며 빠른 테크닉과 수많은 솔루션에 익숙해질 것이다. 클러스터를 모니터링할 수 있는 키바나를 설치하고 다양한 플러그인을 이용해 확장할 수도 있다. 끝으로 자바, 스칼라, 파이썬, 아파치 스파크, 피그 같은 빅데이터 애플리케이션과 일래스틱서치를 통합해 향상된 기능과 사용자 정의 플러그인으로 강화된 효율적인 데이터 애플리케이션을 작성할 수 있다.
이 책으로 일래스틱서치 아키텍처를 구현하는 심도 있는 지식을 얻을 수 있으며 일래스틱서치를 사용해 효율적이고 효과적으로 데이터를 관리, 검색, 저장할 수 있다.
요즘 출시되는 애플리케이션의 주요 요구사항 중 하나는 검색 기능이다. 이런 검색 요구사항을 만족시키는 많은 솔루션을 상업용 제품이나 오픈소스 세계에서 찾을 수 있다. 검색에 많이 쓰이는 라이브러리 중 하나는 아파치 루씬(Apache Lucene)이다. 아파치 솔라(Apache Solr), 인덱스탱크(Indextank), 일래스틱서치 같은 많은 검색 솔루션은 루씬 라이브러리를 기반으로 만들어졌다.
일래스틱서치는 클라우드와 분산 컴퓨팅에 사용할 수 있게 개발됐다. Compass(http://www.compass-project.org) 개발자로 유명한 셰이 바논(Shay Banon)은 일래스틱서치의 주요 개발자며, 2010년 3월에 일래스틱서치의 첫 번째 버전을 배포했다.
일래스틱서치의 주목적은 검색 엔진이 되는 것이며, 일래스틱서치를 데이터 저장소로 사용할 수 있고, 집계를 사용해 분석 엔진으로 활용할 수 있다.
일래스틱서치에는 JSON/REST 기능, 맵(Map)/리듀스(Reduce) 접근 방식의 네이티브 분산 처리 기능, 쉬운 설치 기능, 플러그인 확장 기능 같은 획기적인 기능이 많다. 언급한 기능의 상세한 정보와 그 밖의 일래스틱서치 기능을 이 책에서 살펴볼 것이다.
일래스틱서치 이전에는 아파치 솔라가 일래스틱서치의 일부 기능을 제공했었다. 그러나 아파치 솔라는 클라우드에서 동작하도록 설계되지 않았으며, JSON/REST API는 지원하지 않았다. 최근 몇 년 동안, 2012년에 SlorCloud가 출시되면서 이 상황이 조금 변했다. 일래스틱서치와 아파치 솔라 제품을 완벽히 비교하고 싶은 사용자는 라팔 쿡(Rafał Ku?)이 쓴 글(http://blog.sematext.com/2012/08/23/solr-vs-elasticsearch-part-1-overview/)을 읽으면 도움이 될 것이다.
일래스틱서치는 계속 진화하는 제품이며, 일래스틱서치 회사(일래스틱서치의 상업성 지원을 제공하는 셰이 바논이 설립한 회사) 는 새로운 기능을 가진 일래스틱서치를 배포하고, 일래스틱서치 사용자는 플러그인(깃허브GitHub에서 주로 내려받을 수 있다)을 배포한다.
2012년에 설립된 일래스틱서치 회사는 총 1억 4백만 불의 자금을 조달했다. 일래스틱서치 회사의 공동 창업자이자 CEO인 스티븐 슈르만(Steven Schuurman)이 일래스틱서치의 성공을 다음과 같이 잘 표현하고 있다.
"이렇게 짧은 시간에 투자자로부터 이런 지원을 받았다는 것이 믿기지 않습니다. 이것은 우리가 하고 있는 일의 중요성을 보여줍니다. 비즈니스는 사람과 기계가 만든 데이터를 계속해서 생성하고 있으며, 비즈니스가 새로운 데이터 중심의 프로젝트에서 시작하든, 현재 비즈니스에서 하둡 또는 그 밖의 빅 데이터 투자를 활용해 시도하든, 이 자산에서 가치를 얻을 수 있는 비즈니스가 전략적 목표가 됩니다."
일래스틱서치는 검색 제품 중 괄목할 만한 실적을 내고 있으며, 5천만 개의 장소를 색인하는 포스퀘어(Foursquare)와 온라인 음악 배포 플랫폼인 SoundCloud, StumbleUpon과 천 4백만 회원을 가진 기업 소셜 네트워크 Xing 같은 고객에게 도움을 주고 있다. 또한 20테라바이트 데이터와 13억 개의 파일을 검색하는 깃허브, 로글리(Loggly)에도 도움을 주고 있다. 로글리 로그파일을 빨리 분석하기 위해, 데이터 클러스터를 색인할 수 있는 키/값 저장소로 일래스틱서치를 사용한다.
나는 일래스틱서치야말로 시장에서 나온 검색 솔루션 중 가장 강력하고, 사용하기 쉽다고 생각한다. 이 책에서 제시한 많은 예제를 통해 독자가 일래스틱서치를 관리할 수 있는 지식, 열정, 모범 사례를 전달하고자 노력했다.