2019-09-07(토) 폭풍속에서 성대히 치뤄진 "[JavaCafe] 생초보를 위한 엘라스틱서치 가이드" 강의에 대한 메모입니다.
01. 검색엔진과 DB Like 검색의 결과가 다른 이유 [김흥래 자바카페 운영진]
https://www.slideshare.net/ssuser4889dc/ss-144814667
강의는 예시와 테스트 코드, 실습 등을 중심으로 매우 쉽게 풀어주셨지만 그럼에도 내가 초보자이기에 들어는 봤으나 정확히 뭔지 설명할 수 없는 키워드들이 있었다. 강의 메모 마지막으로 이 키워드들에 대해 정리해보고자 한다.
ELK (Elastic Stack)
엘라스틱 서치는 로그스태시(Logstash)라는 이름의 데이터 수집 및 로그 파싱 엔진, 그리고 키바나(Kibana)라는 이름의 분석 및 시각화 플랫폼과 함께 개발되어 있다. 엘라스틱 서치를 포함한 이 세 가지 솔루션을 ELK라고 한다.
엘라스틱 서치 (Elastic Search)
ELK의 구성요소 중 하나로, Apahce Lucene 기반의 Java 오픈소스 분산 검색엔진이다. 방대한 양의 데이터를 실시간에 가깝게(Near Real Time)으로 저장, 검색, 분석할 수 있다. ELK로서 사용될 수 있고 단독으로 사용되기도 한다.
엘라스틱 서치의 특징은 Scale out(Shard를 통해 규모가 수평적으로 늘어날 수 있음), 고가용성(Replica를 통해 데이터의 안정성 보장), Schema Free(Json을 통해 데이터 작업을 수행하므로 스키마 없음), Restful(HTTP Restful API를 통해 작업 수행)이 있다.
RDB와 대응되는 개념으로 비교해보면 아래와 같다.
Elastic Search | RDB |
Index | Database |
Type | Table |
Document | Row |
Field | Column |
Mapping | Schema |
이름밖에 모르던 시절엔 막연히 검색기능을 제공해주는 API겠거니, 했는데 가장 유용하게 사용되는 곳은 빅데이터 분석인 듯. 활용은 무궁무진 할 것 같다.
아파치 루신 (Apache Lucene)
Java 기반의 고성능 정보 검색 라이브러리. 검색 쿼리를 분석하고 토큰화하고 인덱싱하는 등의 모든 검색 기능이 아파치 루신의 기능이다. 간단하게 말해 이 루신 라이브러리를 감싸 어플리케이션으로 만든 것이 엘라스틱 서치이다. 엘라스틱 서치는 루신 라이브러리의 핵심 기능을 포함해 간단한 설치, 구성, 분산처리 및 대용량 데이터 처리를 위한 다양한 기능을 제공하는 어플리케이션이다.
키바나 (Kibana)
ELK의 구성요소 중 하나로, 엘라스틱 서치의 데이터를 보기좋게 시각화해주는 역할을 하는 솔루션이다. 키바나를 이용하면 쉽게 여러 가지 차트와 그래프를 이용해 데이터를 확인할 수 있다.
로그스태시 (Logstash)
ELK의 구성요소 중 하나로, 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진이다. 데이터베이스와 무관하게 어떤 데이터든지(DB, csv파일, 로그 등) 수집해주는 역할을 한다. 입력 받은 데이터는 필터를 이용해 가공하여 출력할 수 있다. 다양한 입력, 필터, 출력을 끼워 사용할 수 있다.
클러스터 (Cluster)
클러스터란 여러 개의 시스템으로 하나의 거대한 시스템을 구성하는 기술이다.
Elastic Search에서의 클러스터는, Elastic Search에서 가장 큰 시스템 단위를 의미하며 최소 하나 이상의 노드로 이루어진 노드들의 집합이다. 서로 다른 클러스터는 데이터의 접근, 교환을 할 수 없는 독립적인 시스템으로 유지되며 여러 대의 서버가 하나의 클러스터를 구성할 수 있고, 한 서버에 여러 개의 클러스터가 존재할 수 있다.
파이프라인 (Pipeline)
한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다. 각 단계 사이의 입출력을 중계하기 위해 버퍼가 사용될 수 있다.
ETL (Extract, Transform, Load)
추출, 변환 적재
nginx, 패킷, elk, 비츠
역색인
참고
https://ko.wikipedia.org/wiki/%EC%9D%BC%EB%9E%98%EC%8A%A4%ED%8B%B1%EC%84%9C%EChttps://victorydntmd.tistory.com/308%B9%98
'.etc' 카테고리의 다른 글
맥북 이중보안 코드받는 방법 MAC two-factor authentication (0) | 2020.01.07 |
---|---|
[ffmpeg][CentOS] [ffmpeg.exe: cannot execute binary file]ffmpeg 리눅스 설치 (0) | 2019.12.12 |
[생초보를 위한 엘라스틱서치 가이드] Elasticstack으로 생초보도 할 수 있는 데이터 시각화 (0) | 2019.09.10 |
[생초보를 위한 엘라스틱서치 가이드] 한글 형태소 분석하기 기초 (0) | 2019.09.10 |
[생초보를 위한 엘라스틱서치 가이드] 검색엔진과 DB Like 검색의 결과가 다른 이유 (0) | 2019.09.09 |