1. Directory Modeling에는 4가지가 있습니다.
- Informational Modeling
- Naming Modeling
- Functional Modeling
- Security Modeling
즉, Tree를 구성하는 부분은 Naming Modeling에 해당 된다고 할 수 있습니다.
제 경험으로는 DN이라고 하는게 Distinguish Name을 말하는 것이므로,
해당 Entry를 Unique하게 구분해 줄 수 있으면 될 꺼같구요,
그 범위내에서 가장 간단한 구조가 가장 좋은게 아닐까 합니다.
가령, 회사의 경우 부서를 DN에 넣으면 물론 Unique하고 직관적으로 사람을
구분할 수 있겠지만, 부서라고 하는게 수시로 바뀌는 것이기 때문에 그때마다
DN을 바꿔야 하기 때문에 결코 좋은 DN이라고 할 수 없지요.
이건 Informational Modeling쪽 문제일 수 있는데, LDAP의 특성상 Search 성능
이 좋은 대신에 Update/Add/Delete 성능은 나쁘기 때문에 LDAP 데이타를 구성
할 때는 검색은 많이 일어나지만 Update는 잘 안일어나는 데이타를 선택하는게
일반적입니다.
이런 의미에서 볼때도 자주 바뀌는 정보가 DN에 들어가면 안되겠죠?
보통 많이 쓰는 DN구조는 dn:uid=xxx,ou=people,o=LGxxx,c=KR 입니다.
(회사가 LGxxx인 경우)
위의 DN을 보시면 국가(c=KR)도 거의 바뀌지 않고, 회사(o=LGxxx)도 거의 안바
뀌고, 사람 속성(ou=people)은 절대 안바뀌고, uid도 회사내에서는 유일하기
때문에 간단하면서도 좋은 DN이라고할 수 있을 겁니다.
물론 위와 같은 DN으로 사용자 Entry를 사용하기 위해서는 이전에 dn: c=KR 과
dn: o=LGxxx,c=KR과 dn: ou=people,o=LGxxx,c=KR이라는 3개의 Entry가 등록되어
있어야 하겠죠.
이것은 그냥 간단한 예일뿐이고, 위에서 이야기한 원칙에 따라 하시기 바랍니다.
결국 간단한게 가장 좋은 겁니다.
DIT 구조상에서 Depth가 얼마나 깊으냐는 검색 속도랑은 크게 상관없습니다.
Depth가 깊은만큼 Search시 Base DN을 깊게 주면 되니까요.
(결국, Base DN에서 얼마나 Depth가 깊으냐가 문제죠)
2. 트리 구성은 위와 같이 하면 되구요,
인덱스는 많이 Search되는 Attribute에 대해서만 하면 됩니다.
인덱스도 여러 종류가 있는데, substring은 가능하면 사용안하시는게 좋습니다.
wildcard(*) 검색시에는 좋을지 모르겠지만, Update/Add/Delete시 Index 갱신에
부담이 많이가구, 이럴경우 인덱스가 깨지는 경우도 종종 발생합니다.
책을 보면 좋은데, 한글로 된 책은 거의 못본거 같구요...
영문책 좋은게 있는데 잘 기억은 안나구요...
Amazon에 가셔서 검색을 하시면 좋은 점수를 받은 책들이 있을꺼니깐...
함 사서 읽어보세요.
아님, 다우기술에서 디렉토리 관련 교육이 있으니깐,
여유가 되시면 함 받아보시기 바랍니다.
그럼...
>>조용덕 님께서 쓰시길<<
:: 어제에 대한 질문에 답변은 잘 보았고 해결되었습니다.
:: 드디어 rootdn을 만들었죠.
:: 여러 가지 정보를 집어 넣기 전에 몇가지 의문점이 있어
:: 적어 봅니다.
:: 1. Tree를 구성할때 depth가 search시 영향을 많이 줄 것
:: 같은데 혹시 구성시 tip이라도 있나요?
:: 아니면 branch 와 depth의 관계는?
:: 2. 트리 구성과 인텍스 방법에 대해 자세히 알고 싶은데
:: 추천 자료나 사이트 또는 책을 좀 소개해 주시면
:: 고맙겠습니다.
::
::
:: 수고 하세요.
|