Docs Menu
Docs Home
/
Atlas
/

색인 관리

인덱스는 쿼리 성능을 향상시키는 특수 데이터 구조입니다.인덱스는 컬렉션 데이터의 일부를 탐색하기 쉬운 형태로 저장합니다. 인덱스는 특정 필드 또는 필드 집합의 값을 필드 값에 따라 정렬하여 저장합니다.

쿼리 성능을 향상시키려면 쿼리에 자주 나타나는 필드와 필드별로 정렬하는 모든 작업에 인덱스를 구축합니다,

  • 인덱스된 필드에 대한 쿼리는 인덱스를 사용하여 일치하는 문서를 찾기 위해 스캔해야 하는 문서 수를 제한할 수 있습니다.

  • 인덱스된 필드에 대한 정렬 작업은 인덱스에 의해 미리 정렬된 문서를 반환할 수 있습니다.

인덱스에 대한 자세한 내용은 인덱스를 참조하세요.

참고

고려 사항

인덱스는 쓰기 작업에 일부 부정적인 성능 영향을 미칩니다. 쓰기 대 읽기 비율이 높은 컬렉션의 경우 각 삽입은 인덱스도 업데이트해야 하므로 비용이 많이 듭니다. 인덱스에 대한 자세한 고려 사항 목록은 인덱스 운영 고려 사항을 참조하세요.

인덱스를 생성 제거 혹은 숨기기 위해서는 적절한 권한을 가진 다음 역할 중 최소 한 가지가 필요합니다.

기본적으로 최대 3개의 동시 인덱스 빌드를 사용할 수 있습니다. 자세한 내용은 최대 동시 인덱스 빌드를 참조하세요.

Indexes 탭에는 컬렉션의 기존 인덱스가 나열됩니다.

컬렉션 의 Indexes 탭 액세스 하려면 다음을 수행합니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Database 제목 아래의 Data Explorer를 클릭합니다.

    데이터 탐색기 가 표시됩니다.

참고

Clusters 페이지로 이동하여 Shortcuts 제목 아래의 Data Explorer 을 클릭할 수도 있습니다.

2
  1. 컬렉션을 선택합니다.

  2. Indexes 탭을 클릭합니다.

인덱스 보기
클릭하여 확대

각 인덱스 에 대해 Atlas 다음 정보를 표시합니다.

이름 및 정의

인덱스 이름 및 키.

유형

일반, 텍스트, 지리적 공간 또는 해시 인덱스.

size

인덱스의 크기.

사용법

인덱스가 생성된 이후 또는 마지막 서버 재시작 이후 인덱스가 조회에 사용된 횟수입니다.

속성

인덱스의 모든 특수 속성(예: 고유성, 부분)입니다.

1

인덱스 탭에서 Create Index 버튼을 클릭합니다.

2
  1. 인덱스 키를 지정합니다.

    • 기존 문서 필드를 인덱스 키로 지정하려면 드롭다운 목록에서 필드를 선택합니다.

    • 어떤 문서에도 존재하지 않는 필드를 인덱스 키로 지정하려면 입력 상자에 필드 이름을 입력합니다.

    • 복합 인덱스를 생성하려면 인덱스 유형 드롭다운 옆에 있는 아이콘을 클릭합니다.

  2. 각 필드 이름 오른쪽에 있는 드롭다운을 사용하여 인덱스 유형을 지정합니다. 다음 유형 중 하나를 지정할 수 있습니다.

    • 오름차순

    • 내림차순

    • 2dsphere

    • Text

와일드카드 인덱스를 지정하는 방법을 알아보려면 와일드카드 인덱스 만들기를 참조하세요.

3

Atlas 다음과 같은 인덱스 옵션을 지원합니다.

옵션
설명
자세한 정보

고유 인덱스 만들기

인덱싱된 필드에 중복된 값이 저장되어 있지 않은지 확인합니다.

고유 인덱스에 대해서는 롤링 빌드를 수행할 수 없습니다. unique 인덱스 옵션을 사용하여 롤링 방식으로 인덱스 빌드를 활성화하면 Atlas는 구성을 거부하고 오류 메시지를 표시합니다.

인덱스 이름

인덱스의 이름을 지정합니다.

TTL 인덱스 생성

인덱싱된 필드 값 이후 지정된 시간(초)이 지나면 문서를 자동으로 삭제합니다.

부분 필터 표현식

지정된 필터 표현식과 일치하는 문서만 인덱싱합니다.

예를 들면 다음과 같습니다.

다음 부분 필터 표현식은 timezone 필드가 존재하는 문서만 인덱스을 생성합니다.

{ "timezone": { "$exists": true } }

와일드카드 프로젝션

인덱스 에 지정된 프로젝션 과 일치하는 알 수 없거나 임의의 필드를 지원합니다. 와일드카드 프로젝션 사용하려면 인덱스 필드 이름을 $**(으)로 설정하다 . 이렇게 하면 Atlas 문서 의 모든 필드를 사용하도록 지시합니다(_id 제외).

예를 들면 다음과 같습니다.

다음 와일드카드 프로젝션 문서를 고려하세요:

{
"product_attributes.elements" : 1,
"product_attributes.resistance" : 1
}

인덱스 필드 이름이 $** 인 경우 인덱스에는 해당 프로젝션 필드의 값만 포함됩니다.

사용자 지정 데이터 정렬 사용

텍스트 상자에 데이터 정렬 문서를 입력하거나 붙여 넣어 인덱스에 대한 사용자 지정 데이터 정렬을 만듭니다.

희소 인덱스 만들기

인덱스는 인덱스된 필드 누락된 모든 문서 를 건너뜁니다.

롤링 프로세스 에서 빌드

인덱스 빌드가 성능에 영향 최소화할 수 있습니다.

중요

인덱스 롤링 방식으로 빌드하면 클러스터 의 복원력이 감소하고 인덱스 빌드 시간이 늘어납니다. 일반 인덱스 빌드가 요구 사항을 충족하지 않는 경우에만 롤링 인덱스 빌드를 사용하는 것이 좋습니다.

경고

롤링 인덱스 와 복제된 인덱스 빌드 프로세스를 동시에 수행하면 빌드 손상 및 루프 충돌과 같은 예기치 않은 문제가 발생할 수 있으므로 피해야 합니다.

롤링 인덱스는 M10+ 클러스터에서만 빌드 할 수 있습니다.

롤링 인덱스 빌드 중에 Atlas 복제본 세트 에서 각 노드 가져와서 독립형 모드 로 시작하여 인덱스 빌드 다음, 이를 복제본 세트 로 반환합니다. 이 프로세스 클러스터 의 각 노드 에 대해 롤링 시퀀스로 반복됩니다.

노드는 다운된 것으로 표시될 수 있으며, Atlas Search 오프라인에서 인덱스를 빌드합니다. 이는 예상된 동작이며 문제가 아닙니다.

4

데이터 탐색기 에서는 MongoDB Search 또는 MongoDB Vector Search 인덱스를 만들 수 없습니다. 컬렉션 에 대한 MongoDB Search 및 MongoDB Vector Search 인덱스를 관리 하려면 다음을 참조하세요.

와일드카드 인덱스 를 생성하여 알 수 없거나 임의의 필드에 대한 쿼리를 지원 . Atlas 에서 와일드카드 인덱스 만들려면 Select a field name 입력에 와일드카드 인덱스 필드 (<field>.$**)를 수동으로 입력합니다.

예시

문서에 userMetadata 객체가 포함된 컬렉션을 고려해 보세요. userMetadata 객체 내의 필드는 문서마다 다를 수 있습니다.

userMetadata에 와일드카드 인덱스를 만들어 객체 내의 모든 잠재적 필드를 고려할 수 있습니다. Select a field name 입력란에 다음을 입력합니다.

userMetadata.$**

와일드 카드 인덱스의 유형(ascending 또는 descending)을 지정한 다음 Create Index를 클릭합니다.

Atlas 새 인덱스 의 유형을 Wildcard로 표시합니다.

쿼리 플래너에서 인덱스 숨기기를 실행하면 실제로 인덱스를 제거하지 않고도 인덱스 제거의 잠재적 영향을 평가할 수 있습니다.

1

Indexes 탭에서 숨기려는 인덱스 위로 마우스를 가져갑니다.

2

선택한 인덱스 위로 마우스를 가져가면 나타나는 오른쪽 눈 감기 아이콘을 클릭하세요.

3

대화 상자에서 숨기려는 인덱스를 확인합니다. 선택을 확인하면 Properties 열 아래에 Hidden 배지가 나타납니다.

인덱스 숨기기를 해제하려면 1~3 단계를 반복합니다. 인덱스 숨기기를 해제하면 Atlas Properties 열에서 Hidden 배지를 제거합니다.

1

인덱스 탭에서 인덱스를 삭제하려면 해당 인덱스의 휴지통 아이콘을 클릭합니다. 확인 대화 상자가 나타납니다.

2

대화 상자에서 삭제할 인덱스의 이름을 입력합니다.

3

돌아가기

데이터 탐색기 의 지능형 어시스턴트

이 페이지의 내용