我理解LDAP是用于与OpenLDAP等活动目录系统通信的协议.
我也理解OpenLDAP是一种将对象存储在树中的数据库.
我的问题是:何时以及何时应该使用(如果有的话)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: john@example.com
manager: cn=Barbara Doe,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
Run Code Online (Sandbox Code Playgroud)
这描述了一个名叫John Doe的人的信息.它位于dc = example,dc = com的"领域"之下,并且有一堆与之关联的其他信息(就像表行一样).请注意,层次结构可以(显然)与互联网域相关联,就像在这种情况下一样,但实际上层次结构描述非常灵活.您可以根据自己的喜好,根据国家边界或公司部门或任何您喜欢的内容组织层次结构.
当您需要管理数据域时,应该使用LDAP
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |