6.4. 인덱스를 사용하여 데이터베이스 성능 개선
클라이언트 애플리케이션에서 수행하는 검색은 데이터베이스 크기에 따라 시간 및 리소스를 집약적일 수 있습니다. 이 문제를 완화하려면 인덱스를 사용하여 검색 성능을 개선하십시오.
인덱스는 디렉터리 데이터베이스에 저장된 파일입니다. 디렉터리 서비스의 각 데이터베이스에 대해 별도의 인덱스 파일이 유지 관리됩니다. 각 파일의 이름은 인덱스에 따라 이름이 지정됩니다. 특정 특성에 대한 인덱스 파일에는 여러 유형의 인덱스가 포함될 수 있으므로 각 특성에 대해 여러 유형의 인덱스를 유지 관리할 수 있습니다. 예를 들어
cn.db
라는 파일에는 공통 name 속성에 대한 모든 인덱스가 포함되어 있습니다.
디렉터리 서비스를 사용하는 애플리케이션 유형에 따라 다양한 유형의 인덱스가 사용됩니다. 다른 애플리케이션에서는 특정 속성을 자주 검색하거나 다른 언어로 디렉터리를 검색하거나 특정 형식의 데이터가 필요할 수 있습니다.
6.4.1. 디렉터리 인덱스 유형 개요 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Directory Server는 다음과 같은 유형의 인덱스를 지원합니다.
- 존재 인덱스 -
uid
와 같은 특정 특성을 보유한 항목을 나열합니다. - 같음 인덱스 - cn=Babs Jensen 과 같은 특정 특성 값이 포함된 항목을 나열합니다.
- 대략적인 인덱스 - 대략적인(또는 "sounds-like") 검색을 허용합니다. 예를 들어 항목에 cn=Babs L. Jensen 속성 값이 포함될 수 있습니다. 대략적인 검색에서는 cn~=Babs Jensen,cn~=Babs, cn~=Jensen 에 대한 검색 값을 반환합니다.참고대략적인 인덱스를 사용하려면 ASCII 문자를 사용하여 이름을 영어로 작성해야 합니다.
- 하위 문자열 인덱스 - 항목 내의 하위 문자열에 대한 검색을 허용합니다. 예를 들어 cn=*derson 에 대한 검색은 이 문자열을 포함하는 공통 이름(예: bill Anderson, Norma Henderson, and Cryostat Sanderson)과 일치합니다.
- 국제 인덱스 - 국제 디렉터리의 정보 검색 성능을 향상시킵니다. 로케일(국제 OID)을 인덱싱되는 특성과 연결하여 일치하는 규칙을 적용하도록 인덱스를 구성합니다.
- 인덱스 또는 VLV(가상 목록 보기) 인덱스 검색 - 웹 콘솔에서 항목의 표시 성능을 향상시킵니다. 디렉터리 트리의 모든 분기에 검색 인덱스 를 만들어 표시 성능을 향상시킬 수 있습니다.
6.4.2. 인덱스 비용 평가 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
인덱스는 디렉터리 데이터베이스의 검색 성능을 향상시킬 수 있지만 다음과 같은 비용이 발생합니다.
- 인덱스를 사용하면 항목을 수정하는 데 걸리는 시간이 증가합니다.인덱스가 더 많을수록 디렉터리 서비스가 데이터베이스를 업데이트하는 데 시간이 오래 걸립니다.
- 인덱스 파일은 디스크 공간을 사용합니다.더 많은 속성을 인덱싱할수록 더 많은 파일이 생성됩니다. 긴 문자열이 포함된 속성에 대한 대략적인 하위 인덱스와 하위 문자열이 있는 경우 이러한 파일은 빠르게 증가할 수 있습니다.
- 인덱스 파일은 메모리를 사용합니다.보다 효율적으로 실행하기 위해 디렉터리 서비스는 가능한 한 많은 인덱스 파일을 메모리에 배치합니다. 인덱스 파일은 데이터베이스 캐시 크기에 따라 사용 가능한 풀에서 메모리를 사용합니다. 많은 인덱스 파일을 사용하려면 더 큰 데이터베이스 캐시가 필요합니다.
- 인덱스 파일을 만드는 데 시간이 걸립니다.인덱스 파일은 검색 중에 시간을 절약하지만 불필요한 인덱스를 유지하면 시간이 소모될 수 있습니다. 디렉터리 서비스를 사용하여 클라이언트 애플리케이션에 필요한 파일만 유지해야 합니다.