Elasticsearch에서는 다양한 용어와 개념이 사용되는데, 이번 포스트에서는 Elasticsearch에서 사용되는 주요 용어 10가지에 대해 알아보겠습니다.
1. Node
Elasticsearch 클러스터에서 노드는 클러스터의 구성 단위입니다. 각 노드는 클러스터의 일부분을 구성하며, 데이터를 저장하고 검색을 수행합니다. Elasticsearch 클러스터는 여러 개의 노드로 구성될 수 있으며, 각 노드는 서로 상호작용하여 데이터를 분산하여 처리합니다.
2. Cluster
Elasticsearch 클러스터는 데이터를 분산하여 처리하며, 데이터의 안정성과 가용성을 보장합니다. Elasticsearch 클러스터는 노드의 집합으로 구성되며, 각 노드는 클러스터의 일부분을 구성합니다.
3. Index
Elasticsearch에서 데이터를 저장하고 검색하기 위한 논리적 단위입니다. 각 인덱스는 하나 이상의 샤드로 분할되며, 각 샤드는 클러스터의 여러 노드에 분산됩니다. 인덱스는 JSON 형식의 문서를 포함하며, 각 문서는 고유한 ID를 갖습니다.
4. Shard
Elasticsearch에서 데이터를 저장하고 분산하여 처리하는 단위입니다. 각 인덱스는 하나 이상의 샤드로 분할됩니다. 샤드는 primary shard와 replica shard로 나누어집니다.
√ primary shard: 각 인덱스에서 데이터의 원본을 저장하는 샤드입니다.
√ replica shard: primary shard의 복제본으로, 데이터의 안정성을 높이는 데 사용됩니다.
5. Replication
Elasticsearch에서는 primary shard와 replica shard로 데이터를 복제하여 안정성을 보장합니다. primary shard는 각 인덱스에서 데이터의 원본을 저장하며, replica shard는 primary shard의 복제본으로, 데이터의 안정성을 높이는 데 사용됩니다. Elasticsearch에서는 각 인덱스별로 replica shard의 개수를 지정할 수 있으며, 데이터의 안정성을 높이기 위해 여러 개의 replica shard를 생성할 수 있습니다.
6. Document
Elasticsearch에서 인덱싱되는 기본 단위입니다. 각 문서는 JSON 형식으로 저장되며, 필드(field)와 값을 가지고 있습니다. Elasticsearch에서는 인덱스당 수백만 개 이상의 문서를 처리할 수 있습니다.
7. Mapping
Elasticsearch에서 데이터를 인덱싱하기 위한 스키마입니다. Mapping은 인덱스를 생성할 때 정의되며, 각 필드에 대한 데이터 유형, 분석기, 검색 가능 여부 등을 지정합니다. Mapping은 데이터를 검색하거나 집계할 때 매우 중요한 역할을 합니다.
8. Analyzer
Elasticsearch에서 문서를 색인할 때 사용되는 분석기입니다. Elasticsearch에서는 여러 가지 분석기 유형을 제공하여, 적절한 분석 처리를 수행할 수 있습니다. 분석기는 입력된 문서를 분석하여 색인용 단어로 변환하고, 검색 시에도 적절한 단어로 변환하여 검색을 수행합니다.
9. Query
Elasticsearch에서 데이터를 검색하기 위한 쿼리입니다. Elasticsearch에서는 다양한 쿼리 유형을 제공하여, 다양한 검색 요청에 대응할 수 있습니다. 쿼리는 검색어와 검색 조건을 지정할 수 있으며, Elasticsearch에서는 여러 가지 쿼리 유형을 제공합니다.
10. Aggregation
Elasticsearch에서 검색 결과를 그룹화하거나 집계하기 위한 기능입니다. Elasticsearch에서는 다양한 집계 유형을 제공하여, 데이터 분석에 활용할 수 있습니다. 집계 기능을 이용하여 평균, 합계, 카운트 등을 계산하고, 데이터의 분포 및 패턴을 분석할 수 있습니다.
이러한 Elasticsearch에서 사용되는 주요 용어들은 Elasticsearch를 이해하는 데 매우 중요한 개념입니다. 이외에도 Elasticsearch에서는 다양한 기능을 제공하고 있으며, 적절한 용어와 개념의 이해가 Elasticsearch를 사용하는 데 매우 중요합니다.
'BigData > ElasticSearch' 카테고리의 다른 글
초보자를 위한 Elasticsearch 설정 파일(elasticsearch.yml) 가이드 (0) | 2023.03.23 |
---|---|
Elasticsearch 노드의 종류와 역할 (feat 동작 흐름) (0) | 2023.03.22 |
Keyword Field를 활용하는 다양한 쿼리 예제 (0) | 2023.03.20 |
초보자를 위한 Elasticsearch 시작하기: CRUD (0) | 2023.03.19 |
Elasticsearch 주요 field data types (V7.10 기준) (0) | 2023.03.17 |