LDAP는 OpenLDAP와 같은 활성 디렉토리 시스템과 통신하는 데 사용되는 프로토콜이라는 것을 알고 있습니다.
OpenLDAP은 트리에 객체를 저장하는 일종의 데이터베이스입니다.
내 질문은 : 관계형 DB 대신 LDAP를 사용해야하는 경우 (있는 경우).LDAP는 웹 세상에서 어떤 문제를 해결합니까?
답변
LDAP는 자주 읽고 거의 쓰이지 않는 데이터에 적합합니다. 예를 들어, LDAP는 종종 사용자 로그인 또는 암호 정보를 저장하는 데 사용됩니다.
LDAP는 일부 데이터 필드를 저장할 수있는 중앙 집중식 사용자 및 계정 관리 시스템입니다.
관계형 데이터베이스와 LDAP 기반 데이터베이스는 다른 문제를 해결합니다. LDAP는 고속 읽기, 저속 쓰기, 계층 적, 분산 및 권한 기반 (DNS와 같은)에 중점을 둡니다. 데이터가이 가정과 일치하지 않으면 LDAP가 올바른 선택이 아닙니다.
LDAP는 회사 주소록과 같은 엔티티 계층을 잘 설명합니다. 관계형 데이터베이스는 모든 부서가 모든 주소로 큰 글로벌 테이블에 액세스하도록 요구하지만 LDAP 솔루션을 사용하면 각 부서 주소록의 책임을 부서 자체에 배포 할 수 있으며 회사 내 다른 누구에게도 쿼리를 계속 사용할 수 있습니다.
LDAP를 사용하면 모든 종류의 정보를 저장할 수 있습니다. 주소록은 가장 일반적인 예이지만 계층 적이며 권한 중심 데이터 세트로 사용할 수있는 모든 것을 LDAP에 저장할 수 있습니다. 또 다른 예 : 도서관이 도서관 컨소시엄의 일부이고 그들이 가지고있는 도서에 대한 데이터를 저장하려고한다고 가정합니다. 데이터베이스는 계층 적입니다 (각 라이브러리는 국경 내에서 신뢰할 수 있습니다). 각 라이브러리는 다른 라이브러리와 독립적입니다. 스키마 내에서 저자, 발행 연도, 제목, isbn 등과 같은 책에 대한 데이터를 저장할 수 있습니다.
데이터를 저장하려면 특수 파일 형식 인 LDIF를 사용하여 데이터를 표현하지만 API도 있어야합니다. 그러나 LDIF는 정보를 보는 가장 쉬운 방법입니다. 그것은 단순한 텍스트 파일입니다. 위키 백과의 한 예
dn: cn=John Doe,dc=example,dc=com
cn: John Doe
givenName: John
sn: Doe
telephoneNumber: +1 888 555 6789
telephoneNumber: +1 888 555 1232
mail: [email protected]
manager: cn=Barbara Doe,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
여기에는 John Doe라는 사람에 대한 정보가 나와 있습니다. dc = example, dc = com의 "영역"아래에 있으며 테이블 행처럼 생각하는 다른 많은 정보가 있습니다. 이 경우와 같이 계층이 (분명히) 인터넷 도메인에 연결될 수 있지만 실제로 계층 구조 설명은 매우 유연합니다. 국가 테두리 나 회사 부서 또는 원하는대로 원하는대로 계층 구조를 구성 할 수 있습니다. 당신은 당신이
- 감소 된 스토리지 요구 사항과 유연한 스키마에 대한 필요성이 데이터 도메인을 관리 할 때
당신은 LDAP을 사용해야합니다.
- 감소 쓰기 요구는 강한 읽기는
This concise and nice post이 시나리오에 관한 아주 좋은 정보를 가지고 권위의 관리 및 정보의 조직
더 자세히 알고 싶으면 in here 조금 더 깊게 갈 수 있습니다. 위의 링크와 계속됩니다.
조회 연결 메커니즘으로 LDAP를 사용하여 데이터베이스 연결 또는 원격 서비스와 같은 리소스를 검색 할 수도 있습니다.
LDAP에 대한 좋은 점은 디렉토리/URL 스타일로 항목을 검색 할 수 있다는 것입니다. 이는 전용 쿼리 언어를 사용해야하는 RDBMS와는 상당히 다릅니다. hierachical 한 방법으로 조직되는 경우 이것은 종종 이해가되며 직관적입니다.
- 1. LDAP는 무엇을 해결합니까?
- 2. NHibernate는 어떤 문제를 해결합니까?
- 3. IOC가 문제를 해결합니까?
- 4. 문자 인코딩 문제를 어떻게 해결합니까?
- 5. Rails의 조각 캐시가이 문제를 해결합니까?
- 6. 어떻게 메모리 누수 문제를 해결합니까?
- 7. MySQL에서 잠금 문제를 어떻게 해결합니까?
- 8. 쿠다 (CUDA)가 어떤 종류의 데이터 처리 문제를 해결합니까?
- 9. Steak gem은 무슨 문제를 해결합니까?
- 10. WPF UI 문제를 어떻게 해결합니까?
- 11. Java에서 Windows 파일 이름의 문제를 어떻게 해결합니까?
- 12. PHP와 MySQL은 여러 페이지 카운터 문제를 해결합니까?
- 13. 이 Subversion 충돌, 트리 문제를 어떻게 해결합니까?
- 14. Vista에서 Windbg Logger 충돌 문제를 어떻게 해결합니까?
- 15. 명명 된 파이프의 문제를 어떻게 해결합니까?
- 16. QUALKS 모드에서 다음 문제를 어떻게 해결합니까?
- 17. 이 IE7 여백 문제를 어떻게 해결합니까?
- 18. ASDoc을 생성하려고하는 "오류 # 1090"문제를 어떻게 해결합니까?
- 19. 상태 시스템은 어떤 종류의 문제점을 해결합니까?
- 20. Drupal 검색 모듈이 갑자기 작동을 멈췄습니다. 어떻게이 문제를 해결합니까?
- 21. LDAP는 TCP 또는 UDP 프로토콜입니까?
- 22. 서식 파일 태그를 사용하여 데이터 분리 문제를 해결합니까?
- 23. 어떻게 컴파일러가 내부적으로 C++의 다이아몬드 문제를 해결합니까?
- 24. LaTeX의 테이블 및 텍스트 레이아웃 문제를 어떻게 해결합니까?
- 25. 허드슨에서 "너무 많은 파일 열기"문제를 어떻게 해결합니까?
- 26. 우분투 10.04에서 멀티 코어 솔라로 어떻게 설치 문제를 해결합니까?
- 27. div를 서로 정렬 할 때이 문제를 어떻게 해결합니까?
- 28. 직렬화 패턴으로 해결할 수없는 직렬화 프록시 패턴은 어떤 문제점을 해결합니까?
- 29. Active Directory/LDAP는 네임 스페이스와 동일합니까? 코드에서
- 30. 네트워크 문제를 시뮬레이트하기위한 웹 프록시
+1 간결하고 유익한 정보! –