본문 바로가기

ELK

Elastic Search

👨‍💻Elastic Search✨

Elastic Search✨

Eticsearch는 Apache Lucene( 아파치 루씬 ) 기반의 Java 오픈소스 분산 검색 엔진입니다.

Elasticsearch를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간( NRT, Near Real Time )으로 저장, 검색, 분석할 수 있습니다.

Elasticsearch는 검색을 위해 단독으로 사용되기도 하며, ELK( Elasticsearch / Logstatsh / Kibana )스택으로 사용되기도 합니다.

Data Flow✨

ELASTIC SEARCH VS RELATION DB✨

Text를 Search할때, Elastic search가 Relational db 보다 빠르다.

Big O 표기법으로 O(1) 과 O(n) 의 차이점을 가진다.

 

Data Method✨

Rest API 형식을 기본으로 사용한다.

ElasticSearch의 Get은 Relational DB의 Select , CRUD 의 Read 기능과 같다.

ElasticSearch의 Put은 Relational DB의 Select , CRUD 의 Update 기능과 같다.

ElasticSearch의 Post은 Relational DB의 Select , CRUD 의 Create 기능과 같다.

ElasticSearch의 Delete은 Relational DB의 Select , CRUD 의 Delete 기능과 같다.

벌크 (Bulk)✨

document를 대량으로 추가할 때, 한 번의 API 호출 만으로 대량의 데이터를 추가할 수 있다.

반대로, 대량으로 조회할 때도 ,한 번의 API 호출로 대량의 데이터를 검색할 수 있는 MultiSearch API가 존재한다.

매핑 (Mapping)✨

원하는 데이터의 데이터 타입을 지정하여 명시할 수 있다.

데이터 조회 (Search)✨

데이터를 검색하는 것.

매트릭 어그리게이션 (Metric Aggregation)✨

AGGREGATIONS = 가지고 있는 값들 중에서 어떠한 값들을 조합에서 나타내는 것을 뜻함. Metric Aggregation = 산술 어그리게이션 ex)평균, 최대값, 최소값 등등..

버킷 어그리게이션 (Bucket Aggregation)✨

Bucket Aggregation = GroupBy 팀별로 그룹

버킷으로 그룹을 지정한 후 그룹별로 매트릭 어그리게이션을 통하여 값을 뽑아낼 수 있다.

ex) 그룹별 최대값, 그룹별 평균

'ELK' 카테고리의 다른 글

Kibana  (0) 2020.01.30