반응형
Elastic Stack이란?
레시피 검색 프로그램에 아파치 루씬(Apache Lucene)을 적용하려던 중 루씬이 가진 한계를 보완하기 위해 새로 검색엔진을 만들기 위해 시작한 오픈소스 프로젝트가 'Elasticsearch' 입니다.
Logstash, Kibana와 함께 사용 되면서 한동안 ELK Stack (Elasticsearch, Logstash, Kibana) 이라고 널리 알려지게 되었으며, 현재 'Elastic Stack' 으로 명명하면서 모니터링, 클라우드 서비스, 머신러닝 등의 기능을 계속해서 개발, 확장해 나가고 있습니다.
'Elastic Stack' 에서 Elasticsearch는 검색 및 분석 엔진이며, Logstash는 데이터를 수집하는 동시에 변환하며 Elasticsearch 같은 “stash”로 전송하는 Server-side 의 Data 처리 Pipeline 역할을 하며, Kibana 는 사용자 Elasticsearch에서 Chart와 Graph를 이용해 데이터를 시각적으로 표현하고 있습니다.
Elasticsearch: 데이터 저장 및 검색/분석 엔진
- 전문(full-text) 검색, 구조화된 데이터의 실시간 분석
- 분산 시스템
- 여러 개의 노드에 데이터를 색인(Indexing)하고 검색, 저장
- 항상 일정한 데이터 복사본의 개수를 유지하며 높은 가용성과 안정성 보장
- 노드는 독립적으로 실행되는 프로세스
- 데이터 저장소(data store)
- 수백 대의 서버로 scale out
- PD 급의 데이터 저장
- 여러 개의 노드에 데이터를 색인(Indexing)하고 검색, 저장
- 아파치 루씬(Apache Lucene) 사용하여 개발
- 고성능 정보 검색(IR, Information retrieval) 라이브러리
- Java로 구현된 안정적이고 무료로 사용할 수 있는 오픈 소스 프로젝트
- Elastic Search = 루씬의 검색/색인에 필요한 API를 제공 + 분산처리를 비롯해 대용량 데이터를 처리하기 위한 기능
- Json(JavaScript Object Notation) 문서 기반 저장 및 검색, HTTP 프로토콜의 RESTful API 지원
Logstash: 데이터 수집
- 다양한 플러그인을 제공할 뿐만 아니라 직접 플러그인을 제공할 수 있으며,
- 다양한 입력 (input)에 포함되는 데이터와 로그를 가공 (filter)하여 원하는 목적에 업로드(output) 가 가능하도록 만든 도구입니다.
- Logstash가 출력 API로 Elasticsearch를 지원하기 시작하면서 많은 곳에서 Elasticsearch의 입력 수단으로 Logstash를 사용하기 시작했습니다.
Kibana: 데이터 시각화 및 리포팅 분석
반응형
'Study: DeveloperTools(DevTool) > DevTool: NoSQL(Elastic, Mongo)' 카테고리의 다른 글
[Elastic] ELK Stack: Logstash 정리 (2) | 2022.09.01 |
---|---|
[Elastic] ELK Stack: Elasticsearch 정리(NoSQL Document DB) (0) | 2022.08.31 |
[Elastic] Elasticsearch 데이터 타입: 정확한 데이터 타입으로 입력해야 분류, 연산, 검색 가능! (0) | 2022.08.26 |
[Elastic] Elasticsearch 인덱스 생성 및 삭제: shards, replica, mapping... (0) | 2022.08.26 |
[Elastic] Elasticsearch 구문 검색: 기본 Query 정리(Elastic Query DSL) (0) | 2022.08.18 |