엘라스틱 서치의 탄생
엘라스틱 서치가 처음 등장했을때는 빅데이터 파이프라인을 구성하는 플랫폼 형태로 될것이라고 예상하기 어려웠을것이다. 엘라스틱 서치가 등장했을무렵 사이트내에서 전문 검색기능을 제공하는 강력한 소프트 웨어의 필요성이 있었고 검색솔루션 서비스는 대부분 구현체를 공개하지 않아서 접근하기가 쉽지 않았었다.
엘라스틱 서치는 자바 루씬에서 시작됐다. 루씬은 라이브러리 형태로 되어있기때문에 제대로 사용하기 위해선 너무나 많은 공부와 준비를 해야했다. 그이후 많은 과정을 거처서 자바외에도 다양한 프로그램언어를 지원하는 솔루션을 가진 검색엔진인 엘라스틱 서치가 나왔다.
엘라스틱 스택
엘라스틱 서치가 나올무렵 사용자가 선택한 보관함으로 로그를 보내는 오픈소스 데이터 수집도구인 로그 스태시를 개발하고 있었고 오픈소스 시각화 ui인 키바나또한 개발되고 있었다. 이 두개발자는 친분이 있었고 팀을 결성해 엘라스틱서치, 로그스태시, 키바나 가 함친 엘라스틱 스택이 개발됐다고합니다.
이 세 스택의 역할은
시각화 : 키바나
데이터 저장 & 검색엔진 : 엘라스틱 섳
데이터 수집 :비츠/로그스태시
위와같은 역할을 하고 있습니다.
엘라스틱 서치 분산 검색엔진
엘라스틱 서치는 noSql 데이터베이스와 닮아 있지만 엄청나게 빠른 검색속도를 자랑하는 이유는 검색엔진이자 데이터베이스이기 때문입니다. noSql과 rdb와 가장크게 비교되는것은 검색 성능과 속도입니다.
성능적인 부분을 보자면 nosql과 유사하지만 엘라스틱서치의 중요한 특징중하나인 스코어링 즉 연관도에 따른 정력기능이 있고 검색어에 대한 유하도 스코어를 기반으로 한 정렬을 제공하기도 합니다. 이는 복잡한 검색을 수행할 때 큰 효과를 보입니다.
엘라스틱서치의 기반은 루씬에서 비롯됐습니다.
엘라스틱 서치는 결구 대용량 데이터에 대한 빠른 검색과 집계가 필요할 경우 우선적으로 고려해야하는 데이터 베이스중 하나입니다.
엘라스틱 서치는 모든 입력을 REST API 형태로 받아들이기 때문에 별도의 드라이버 라이브러리가 없더라도 curl명령등 친숙한 도구들을 이용해 기능을 이용해 사용할 수 있습니다.
키바나
키바나는 엘라스틱 서치 기반의 시각화 도구로 ui시각화를 통해 좀더 편하게 엘라스틱 스택을 사용할 수 있도록 해준다. 요즘은 프래젠테이션을 만들듯이 시각화를 구성할 수 있는 캔버스 서버에 접속해 실시간으로 인덱신되는 로그를 지속적으로 확인하고 검색할 수있는 로그 애플리케이션의 성능 모니터링을 위한 APM과 보안이벤트를 관제할 수 있는 SIEM등 강력한 솔루션들이 포함되어 있어 키바나를 사용하기 위해 엘라스틱 서치를 고려하는 경우도 있을 정도 입니다.
로그 스태시
로그스태시를 사용해서 데이터 적제를 하기위한 다양한 애플리케이션으로 부터 로그를 수집하고 데이터를 저장해주는 다양한 플랫폼으로 정제된 데이터를 내보낼 수 있다.
로그스테시는 별도의 코딩 없이 간단한 설정만으로 로그를 가공할 수 있다. 확장가능한 200개이상의 플러그인 덕분에 설정으 ㅣ대부분은 플러그인 사용 방법인데 그 사용법이 크게 어렵지 않다.
또한 안정성 과 관리 편의성 측면에서 장점이 많다.
비츠
로그스태시의 기능은 강력한 만큼 무겁기때문에 목적과 필요에 따라서는 비츠를 사용하기도 합니다. 고 기반으로 작성된 가벼운 로그 수집기 입니다.
엘라스틱 스택의 용도
- 전문검색엔진이 필요할때
- 일반적인 like로 하는 문자열 검색이 아닌 전문검색은 '엘라스틱 서치란 무엇일까?' 라는 검색을하면 관련된 문서를 찾아주는데 이런방식의 검색을 전문 검색이라고 합니다.
또한 인댁싱을 통해서 데이터의 양과 상관없이 빠른 검색을 가능하게 합니다.
- 학습용이
엘라스틱 스택은 쉽게 사용하기 위한 학습자료가 많다. - 로그 통합분석
엘라스틱 스택은 여러 장비와 서비스에서 발생하는 로그들을 통합하고 검색하는 데 최적화된 소루션입니다.데이터를 수집하고 시각화하는것까지 사용할 수 있고
엘라스틱서치에 저장된 데이터들은 손쉽게 교차 분석이나 연관 분석이 가능합니다. 관계형 디비에 join쿼리를 사용하지 않고도 훨신 편하게 분석할 수 있습니다. - 보안이벤트 분석
SIEM 이나 SEM 등으로 불리는 솔루션은 조직내에 속한 다양한 장비들로 부터 보안 이벤트를 수집하고 분석할 수 있게 하려는 목적으로 만들어 졌습니다. - 애플리케이션 성능 분석
애플리케이션을 운영하는대엤어서 지속적인 모니터링기능을 제공합니다. - 머신러닝
엘라시트틱 스택에서 유료 라이선스를 구매할 경우 사용할 수 있는 강력한 기능중 하나입니다.
'ELK' 카테고리의 다른 글
엘라스틱 서치 - 집계 정리 (0) | 2023.11.06 |
---|---|
엘라스틱 서치 검색 정리 (2) | 2023.11.06 |
ElasticSearch 색인/검색 동작과정 (0) | 2023.06.11 |
ElasticSearch 색인/검색 동작과정 (0) | 2023.06.11 |
ElasticSearch 클러스터 구성 (0) | 2023.06.11 |