이번에 회사에서 엘라스틱 서치에 대해서 도입을 한다.
하지만 해당 기술에 대해 무지하기 때문에 오늘부터 차근차근 공부할려고 한다.
오늘의 주제는 엘라스틱 스택에 대해 가볍게 내용 정리를 할려고 한다.
엘라스틱 스택(Elastic Stack)
엘라스틱 스택은 일반적인 빅데이터 파이프라인을 구성하기 위한 데이터 수집, 가공, 저장, 분석, 시각화에 필요한 모든 소프트웨어를 갖추고 있다. 비츠와 로그스태시는 데이터를 수집하고 가공하는 역할을 하며, 엘라스틱 서치는 저장하고 분석하는 역할을 담당한다. 마지막으로 키바나는 엘라스틱 서치에 저장된 데이터를 시각화하고 모니터링하는 역할을 수행한다.
엘라스틱 서치(Elastic Search)
엘라스틱 서치는 검색 엔진이지만, 다른 포털 사이트와 다르게 검색 엔진이 내부적으로 각 도큐먼트를 인덱싱 하고 빠르게 검색하는 데 사용하는 기술이다. 모든 레코드는 JSON 도큐먼트 형태로 입력하고 관리하고 있으며, 일반적인 DB와 동일하게, 쿼리 한 결과에 대해 일치하는 원본 도큐먼트를 반환한다.
엘라스틱 서치는 텍스트나 도큐먼트의 경우 인덱싱 시점에 분석을 거쳐 용어 단위로 분해되고 역인덱스 사전을 구축한다. 숫자나 키워드 타입의 데이터들은 엘라스틱서치 집계를 위해 집계에 최적환된 컬럼 기반 자료구조를 저장한다. 이 자료구조들을 바탕으로 병렬 처리나 분산 처리를 할 수 있다.
엘라스틱 서치는 저장 공간이 크게 압축되지 않고 시스템 리소스를 많이 사용한다. 그리고 DSL 쿼리를 사용하여 JOIN 쿼리가 사실상 어렵기 때문에 반정규화를 기본으로 모델링해야 한다. 또한 인덱스가 불변의 자료구조이기 때문에 도큐먼트를 수정하거나 삭제할 경우에 비용이 저렴하지 않다.
키바나 : 시각화와 엘라스틱 서치 관리 도구
키바나는 엘라스틱 스택의 UI를 담당한다. 엘라스틱서치에 대한 대부분의 관리 기능, API를 실행할 수 있는 콘솔, 솔루션 페이지들, 그리고 스택의 각 구성요소들을 위한 모니터링 페이지 등이 모두 키바나에 포함되어 있다. 그중 가장 중요한 기능은 시각화와 대시보드라 할 수 있다. 키바나 시각화 도구를 이용해 다양한 커스텀 대시보드를 만들 수 있으며, 대시보드에서 실시간 모니터링이 가능하고 데이터 분석도 가능하다.
로그 스태시: 이벤트 수집과 정제를 위한 도구
대량의 데이터를 검색하기 위해 가장 선행돼야 할 작업은 데이터를 적재하는 것이다. 이는 빅데이터를 다룰 때 가장 손이 많이 가는 작업이며, 변경되는 상황에 맞춰 꾸준히 모니터링을 해야 하고 개선도 필요한 부분이다.
로그 스태시는 형식에 무관하게 데이터를 동적으로 수집, 변환, 전송하는 구조이다. 비구조적인 데이터에서 구조를 도출하며, IP 주소에서 위치 정보 좌표를 해독하고, 민감한 필드를 익명화하거나 제외시키는 등의 전반적인 작업을 쉽게 해 준다.
로그 스태시의 진면목은 단순 소스 데이터 정제가 아니라, 엘라스틱 서치의 인덱싱 성능을 최적화하기 위한 배치 처리와 병렬 처리가 가능하며, 영속적인 큐를 사용해 현재 처리 중인 이벤트의 최소 1회 전송을 보장을 해준다. 또한 유동적인 처리 방식으로 인해 수집 중인 데이터양이 급증하는 부하 상황에서도 안정석을 보장해 준다.
비츠: 엣지단에서 동작하는 경량 수집 도구
비츠는 데이터 수집을 위해 용도별로 최적화된 경량 에이전트로 제공되며, 특성과 성격에 맞는 다양한 비트들이 존재한다. 또한 특정 비트는 잘 알려진 다수의 서비스에 대한 모듈을 제공한다. 모듈에는 수집 설정 프리셋, 샘플 대시보드 등이 포함되므로 별도의 설정 과정 없이도 손쉽게 이벤트를 수집할 수 있다.
'DevOps > Elastic Stack' 카테고리의 다른 글
[Elasticsearch] 성능 향상을 위한 doc_values 사용법: 메모리 효율 향상시키기 - 컴도리돌이 (3) | 2024.11.09 |
---|---|
[Elasticsearch] 성능 개선을 위한 코드 비교 및 분석 - 컴도리돌이 (4) | 2024.11.08 |
[Elasticsearch] wildcard 쿼리에 대해 제대로 이해하기 - 컴도리돌이 (0) | 2024.11.07 |
[ELK] 인덱스(생성/조회/삭제)와 도큐먼트(CRUD)에 대해서 - 컴도리돌이 (0) | 2024.01.23 |
[Elasticsearch] 엘라스틱 서치 역인덱스(Elasticsearch inverted index) - 컴도리돌이 (0) | 2024.01.17 |