We-Co

[We-Co] Elasticsearch - Apache Lucene 기반의 검색 및 분석 엔진 본문

Web

[We-Co] Elasticsearch - Apache Lucene 기반의 검색 및 분석 엔진

위기의코딩맨 2023. 6. 13. 10:50
반응형

안녕하세요. 위기의 코딩맨입니다.

오늘은 Apache Lucene의 기반의 검색 및 분석엔진인 Elasticsearch에 대해서 알아보도록 하겠습니다.

엘라스틱서치라고도 자주 불리기도 합니다!

Elasticsearch이란 무엇일까요?

 

간단하게 3가지의 일을 한다고 생각하시면 됩니다!

 

  1. 대량의 데이터를 안정적으로 저장한다
  2. 신속하게 검색한다.
  3. 복잡하고 다양한 분석을 수행한다. 

주로 보안, 비즈니스 인텔리전스, 텍스트 검색, 로그 분석 다양한 분야에서 사용되고 있습니다.

 

 

[ 특 징 ]

이제 특징을 간단하게 알아보겠습니다. 

 

  1. 실시간 분산검색 ( 1) - 공식 홈페이지에서 데이터를 적용하는데 1초라는 시간이 걸린다고 합니다. 1초가 길면 길고 짧으면 짧은 시간인데.. 실시간이라고 있는건가..?  아무튼 대량의 데이터를 실시간으로 색인하고 검색할 있다고 합니다.
  2. 분산 아키텍처 - 여러대의 서버를 분산 저장하여 확장성과 가용성을 높였다고 합니다.
  3. Json 기반 - Json형태로 데이터를 저장하며, 각각의 문서에 ID 부여하여 데이터를 쉽게 색인하고 검색할 있습니다.
  4. 검색 - 다양한 검색 기능을 제공하며, 텍스트기반, 일치검색 다양한 검색 쿼리를 지원합니다.
  5. 분석 - 집계, 통계, 시각화 다양한 분석 작업에 도움을 준다고 합니다.

 

[ 샤드 ]

Elasticsearch를 공부하게되면 샤드라는 용어를 듣게 되는데 간단하게 설명드리도록 하겠습니다!

샤드는 Elasticsearch의 인덱스를 여러 개수의 파티션으로써, 분할하여 분산 저장하는 단위를 의미합니다.

 

유형은 두가지로 나뉩니다.

 

Primary Shard - 인덱스 초기 샤드로, 데이터를 저장하고 검색 작업을 수행하는 샤드

Replica Shard - 프라이머의 복제본으로 가용성과 안정성으로 성능을 향상시킴

 

샤드를 사용할 때, 개수를 지정할 수 있는데 크기와 개수로 검색 부하와 처리에 영향을 받기 때문에 잘 고려해야합니다.

또한, 데이터의 분산 저장, 병렬처리 성능 향상에 중요한 역할을 수행하기 때문에 Elasticsearch 사용하는데에 중요한 요소입니다.

 

 

[ 작동 원리 ]

1. 로그나 웹 애플리케이션 등 다양한 소스를 통해서 raw Data가 elasticsearch로 들어오게됩니다.

2. 색인 작업을 진행

3. 사용자는 해당 데이터를 사용에 맞도록 쿼리를 실행하고 집계를 사용하여 데이터를 요약 검색을 진행할 수 있습니다.

 

해당 작업에 도음을 주는 Kibana,Logstash 다양한 핵심 기능들이 있습니다.

 

더 자세한 정보를 원하시면 해당 홈페이지를 확인해주세요!

공식 홈페이지입니다.

Elasticsearch

 

Elasticsearch는 무엇인가요?

Elasticsearch는 텍스트, 숫자, 위치 기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를 위한 무료 검색 및 분석 엔진으로 분산형과 개방형을 특징으로 합니다.

www.elastic.co

 

오늘은 간단하게 Elasticseach에 대해서 알아보았으며,

다음에 설치 방법과 실행 방법에대해서 알아보도록 하겠습니다!

반응형