概述
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