6장. Directory Server에서 인덱스 관리


인덱싱을 사용하면 특성 또는 값을 분류하고 구성하여 정보를 더 빠르게 검색하고 검색할 수 있습니다. 가상 목록 보기 컨트롤을 사용하여 대규모 검색 결과의 연속적인 하위 집합을 요청할 수 있습니다.

6.1. 인덱스 정보

Directory Server의 인덱스 유형과 인덱스를 사용할 때 더하기와 마이너스에 대해 알아봅니다.

6.1.1. 다른 인덱스 유형

Directory Server는 각 인덱싱된 속성의 인덱스를 인스턴스의 데이터베이스 디렉터리에 있는 별도의 데이터베이스 파일에 저장합니다. 예를 들어 sn 속성의 인덱스는 /var/lib/dirsrv/slapd- <instance_name> /db/database_name/sn.db 파일에 저장됩니다. Directory Server가 속성에 대해 다른 인덱스를 유지 관리하는 경우 각 인덱스 파일은 여러 인덱스 유형을 포함할 수 있습니다.

Directory Server는 다음 인덱스 유형을 지원합니다.

  • 존재 인덱스(이전)는특정 속성을 포함하는 항목 목록입니다. 예를 들어 클라이언트가 attribute=mail 과 같은 검색을 자주 수행할 때 이 유형을 사용합니다.
  • 같음 인덱스(eq)는 특정 특성 값이 포함된 항목을 검색합니다. 예를 들어 cn 속성의 같음 인덱스를 사용하면 cn=first_name last_name 을 더 빠르게 검색할 수 있습니다.
  • 대략적인 인덱스(약자)는 효율적인 대략적인 또는 사운드와 같은 검색을 가능하게 합니다. 예를 들어 cn~=first_name last_name, cn~=first_name 또는 cn~=first_nam 을 검색하면 cn=first_name X last_name 이 반환됩니다. Directory Server의 메타 전화 알고리즘은 US-ASCII 문자만 지원합니다. 따라서 영어 값과 함께 대략적인 인덱싱을 사용하십시오.
  • 하위 문자열 인덱스(하위)는 유지 관리하는 비용이 많이 드는 인덱스이지만 항목 내의 하위 문자열에 대해 효율적으로 검색할 수 있습니다. 부분 문자열 인덱스는 각 항목에 대해 최소 3자로 제한됩니다. 예를 들어 telephoneNumber=*555* telephoneNumber 특성에 555 가 포함된 값이 있는 디렉터리의 모든 항목을 반환합니다.
  • 국제 색인은 국제 디렉터리의 정보를 검색하는 속도를 향상시킵니다. OID(오브젝트 식별자)를 인덱싱할 특성과 연결하여 일치하는 규칙을 적용하는 경우를 제외하고 국제 인덱스를 만드는 프로세스는 일반 인덱스를 만드는 프로세스와 유사합니다.

6.1.2. 인덱싱의 이점의 균형

새 인덱스를 만들기 전에 값에 대해 인덱스를 유지 관리할 때의 이점의 균형을 조정합니다.Before you create new indexes, balance the benefits of maintaining indexes against the costs:

  • 대략적인 인덱스는 전화 번호와 같이 일반적으로 번호를 포함하는 속성에는 효율적이지 않습니다.
  • 하위 문자열 인덱스는 바이너리 특성에 대해 작동하지 않습니다.
  • 이미지와 같은 큰 값이 포함된 속성에 대한 같음 인덱스를 피하십시오.
  • 검색에 일반적으로 사용되지 않는 속성에 대한 인덱스를 유지 관리하면 검색 성능을 개선하지 않고도 오버헤드가 증가합니다.
  • 검색 유형에 따라 검색 성능이 저하될 수 있지만 인덱싱되지 않은 속성은 검색 요청에 계속 사용할 수 있습니다.

인덱스는 매우 시간이 많이 소요될 수 있습니다. 예를 들어 Directory Server에서 추가 작업을 수신하는 경우 서버는 인덱싱 특성을 검사하여 해당 특성 값에 대한 인덱스가 유지 관리되는지 확인합니다. 생성된 특성 값이 인덱싱되면 Directory Server는 새 특성 값을 인덱스에 추가한 다음 해당 항목에 실제 특성 값이 생성됩니다.

예 6.1. 사용자가 항목을 추가할 때 디렉터리 서버 인덱싱 단계 수행

Directory Server가 다음 인덱스를 유지 관리한다고 가정합니다.

  • cnsn 속성에 대한 같음, 대략적인 및 하위 문자열 인덱스입니다.
  • telephoneNumber 특성에 대한 같음 및 하위 문자열 인덱스입니다.A equality and substring indexes for the telephoneNumber attribute.
  • description 속성에 대한 부분 문자열 인덱스입니다.

예를 들어, 사용자는 다음 항목을 추가합니다.

dn: cn=John Doe,ou=People,dc=example,dc=com
objectclass: top
objectClass: person
objectClass: orgperson
objectClass: inetorgperson
cn: John Doe
cn: John
sn: Doe
ou: Manufacturing
ou: people
telephoneNumber: 408 555 8834
description: Manufacturing lead
Copy to Clipboard Toggle word wrap

사용자가 항목을 추가하면 Directory Server에서 다음 단계를 수행합니다.

  1. 존 및 Doe 에 대한 cn 같음 인덱스 항목을 생성합니다.
  2. 존 및 Doe 에 대한 cn 의 대략적인 인덱스 항목을 생성합니다.
  3. 존 및 Doe 에 대한 cn 하위 문자열 인덱스 항목을 생성합니다.
  4. Doe 에 대한 sn equality index 항목을 만듭니다.
  5. Doesn approximate index 항목을 만듭니다.
  6. Doe 에 대한 sn 하위 문자열 인덱스 항목을 만듭니다.
  7. 408 555 8834 에 대한 telephoneNumber 같음 인덱스 항목을 생성합니다.
  8. 408 555 8834 에 대한 telephoneNumber 하위 문자열 인덱스 항목을 만듭니다.
  9. Manufacturing lead 에 대한 description 하위 문자열 인덱스 항목을 생성합니다.

이 예에서는 대규모 디렉터리에 대한 데이터베이스를 만들고 유지 관리하는 데 필요한 작업 수가 매우 리소스 집약적일 수 있음을 보여줍니다.

중요

Directory Server 성능에 영향을 줄 수 있으므로 멤버십 속성(예: 멤버,uniquemember)에 대한 하위 문자열 인덱스를 정의하지 마십시오. 멤버(예: 많은 멤버가 있는 그룹에uniquemember )를 추가하거나 제거하는 경우 uniquemember 인덱스의 계산은 추가되거나 제거된 값뿐만 아니라 모든 uniquemember 값을 평가해야 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat