5.7. 인덱스를 사용하여 데이터베이스 성능 개선
데이터베이스 크기에 따라 클라이언트 애플리케이션에서 수행하는 검색에는 많은 시간과 리소스가 걸릴 수 있습니다. 따라서 검색 성능을 개선하기 위해 인덱스를 사용할 수 있습니다.
인덱스는 데이터베이스가 저장하는 파일입니다. 디렉터리의 각 데이터베이스에 대해 별도의 인덱스 파일이 유지 관리됩니다. 각 파일의 이름은 인덱스에 따라 이름이 지정됩니다. 특정 속성에 대한 인덱스 파일에는 여러 유형의 인덱스가 포함될 수 있습니다. 예를 들어 cn.db
라는 파일에는 공통 이름(cn
) 속성에 대한 모든 인덱스가 포함되어 있습니다.
디렉터리를 사용하는 애플리케이션 유형에 따라 다양한 유형의 인덱스를 사용합니다. 다른 애플리케이션에서는 특정 속성을 자주 검색하거나 다른 언어로 디렉터리를 검색하거나 특정 형식의 데이터가 필요할 수 있습니다.
5.7.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 및 이 문자열을 포함하는 Sanderson과 같은 공통 이름과 일치합니다. - 국제 인덱스
- 국제 디렉터리의 정보 검색 성능을 향상시킵니다. 로케일(국제 OID)을 인덱싱하는 특성과 연결하여 일치 규칙을 적용하도록 인덱스를 구성할 수 있습니다.
- 인덱스 또는 VLV(가상 목록 보기) 인덱스 검색
- 웹 콘솔의 항목 표시 성능을 향상시킵니다. 디렉터리 트리 분기에 검색 인덱스 를 생성하여 표시 성능을 향상시킬 수 있습니다.
추가 리소스
5.7.2. 인덱싱 비용 평가
인덱스를 사용하여 검색 성능을 향상시킬 때 다음 사항을 고려하십시오.
인덱스를 사용하면 항목을 수정하는 데 걸리는 시간이 증가합니다.
유지 관리하는 인덱스가 많을수록 데이터베이스를 업데이트하는 데 더 오래 걸립니다.
인덱스 파일은 디스크 공간을 사용합니다.
더 많은 속성을 인덱싱할수록 더 많은 파일을 만들 수 있습니다. 또한 긴 문자열이 포함된 특성에 대한 대략적인 및 하위 문자열 인덱스를 만드는 경우 인덱스 파일이 빠르게 증가할 수 있습니다.
인덱스 파일은 메모리를 사용합니다.
더 효율적으로 실행하기 위해 Directory Server는 가능한 한 많은 인덱스 파일을 메모리에 넣습니다. 인덱스 파일은 데이터베이스 캐시 크기에 따라 사용 가능한 풀에서 메모리를 사용합니다. 많은 인덱스 파일을 사용하려면 더 큰 데이터베이스 캐시가 필요합니다.
인덱스 파일을 만드는 데 시간이 걸립니다.
인덱스 파일은 검색 중에 시간을 절약하지만 불필요한 인덱스를 유지하면 시간이 소모될 수 있습니다. 디렉터리를 사용할 때 클라이언트 애플리케이션에 필요한 파일만 유지합니다.