1. 용어 설명
Elasticsearch에서 "indices"란 다수의 "index"를 의미한다.
여기서 "index"는 관계형 데이터베이스에서 "테이블"과 비슷한 역할을 하는데, Elasticsearch의 기본 데이터 저장 단위다.
각 인덱스는 JSON 문서 형태의 데이터를 저장하고, 검색 엔진이 이를 쉽고 빠르게 검색할 수 있도록 구조화한다.
2. 인덱스(Index)의 역할:
- 데이터 저장: Elasticsearch에서 각 인덱스는 하나 이상의 유형의 문서를 저장하고, 이 문서들은 여러 개의 필드를 가질 수 있어. 예를 들어, 온라인 상점의 인덱스는 제품에 대한 정보를 저장하는 문서를 포함할 수 있고, 각 문서는 가격, 설명, 제품 코드 등의 필드를 포함할 수 있어.
- 검색 최적화: 인덱스는 텍스트 검색을 최적화하기 위해 설계되었어. Elasticsearch는 인덱스에 저장된 데이터를 통해 복잡한 검색 쿼리를 빠르게 처리하고, 대용량의 데이터에 대한 빠른 검색 성능을 제공해.
- 분산 시스템: 각 인덱스는 샤드(shards)로 나누어질 수 있어. 샤드는 인덱스를 구성하는 더 작은 단위로, Elasticsearch 클러스터의 다양한 노드에 걸쳐 분산될 수 있어. 이는 데이터의 복제(replication)와 부하 분산(load balancing)을 가능하게 해, 클러스터의 확장성과 내결함성을 향상시켜.
3. 왜 인덱스가 생성되나?
인덱스는 특정 유형의 데이터를 구조화하고 관리하기 위해 생성돼. 예를 들어, "test-index2"라는 인덱스가 생성된 것은 특정 데이터 세트를 위한 독립적인 저장공간을 확보하기 위해서일 수 있어. 데이터를 인덱스로 구분하면 각 데이터 세트에 대해 특정 설정을 적용할 수 있고, 데이터 관리와 검색을 더 효율적으로 할 수 있어.
4. 인덱스 사용의 이점:
- 검색 성능: 데이터가 잘 구조화되어 있고, 검색 엔진이 최적화된 방식으로 데이터에 접근할 수 있어 검색 성능이 좋아져.
- 데이터 관리: 데이터를 인덱스별로 관리함으로써 보안, 백업, 복구 등을 좀 더 세분화하여 관리할 수 있어.
- 확장성: 대규모 데이터를 여러 샤드와 노드에 분산시키기 때문에 시스템의 확장성이 좋아져.
결론적으로, 네가 생성한 "test-index2"는 특정 데이터를 저장하고, 검색하며, 관리하기 위한 목적으로 사용되는 Elasticsearch의 기본 구성 요소야.