概述
LDAP 是 Lightweight Directory Access Protocol 的縮寫,中文是輕型目錄服務。它是基於 X.500 標準的,但支持 TCP/IP,而且簡單很多,並可根據需要定製。
OpenLDAP 是輕型目錄訪問協議 LDAP 的自由和開源的實現。在 OpenLDAP 許可證下發行,並已經被包含在衆多流行的 Linux 發行版中。
特點
- LDAP 可以在任何計算機平臺上運行
- LDAP 的結構用樹來表示而不是用表格
- LDAP 可以很快地得到查詢結果而寫則慢得多
- LDAP 提供了靜態數據的快速查詢方式
- Client/server 模型
使用場景
LDAP 中的數據(稱爲 entry,即條目),一般是按照地理位置和組織關係進行組織的,常用於存放需要從不同地點讀取,但是不需要經常更新的數據。大多數的 LDAP 服務器都爲讀進行了優化,在讀的性能對比上,LDAP 服務器會比關係數據庫快一個數量級,但 LDAP 不適合存儲需要經常改變的數據。所以,LDAP 和關係數據庫是有區別的。但也有後臺使用關係數據庫,中間架設 LDAP 服務器作爲應用接口的情況,以加快用戶獲取信息的速度。
結構
LDAP 中目錄是按照樹型結構組織的,目錄由條目(entry)組成,條目相當於關係數據庫中的表;而條目是包含區別名(DN,Distiguished Name)的屬性(Attribute)集合,而 DN 相當於關係數據庫中的關鍵字(Primary Key),是區別的標識;屬性就由類型(Type)和多個值(Values)組成,相當於關係數據庫中的域是由域名和數據類型組成,只是不同在於其中的值不像關係數據庫中爲了降低數據冗餘性必須不相關。
基準 DN 的常用格式是用 DNS 域名的不同部分組成,類似:
dc=example,dc=org