我将专注于为何使用LDAP,而不是什么是LDAP。
使用模型类似于人们如何使用图书馆卡或电话簿。当您有一个需要“一次写入/更新,多次读取/查询”的任务时,您可能会考虑使用LDAP。LDAP旨在为大规模数据集提供极快的读取/查询性能。通常,您只想为每个条目存储少量信息。添加/删除/更新性能相对较慢,因为假设您不经常进行“更新”操作。
想象一下,您有一个网站,拥有100万注册用户,每秒钟有数千个页面请求。如果没有LDAP,即使是静态页面查看,每次用户点击页面时,您也可能需要与数据库交互,以验证用户ID及其数字签名是否适用于此登录会话。显然,用于用户验证的数据库查询将成为瓶颈。通过使用LDAP,您可以轻松卸载用户验证并获得显着的性能改进。本质上,在此示例中,LDAP是用于增强性能的另一个优化层,而不是替换任何数据库功能。
LDAP不仅适用于用户验证,任何具有以下属性的任务都可能是LDAP的良好用例:
您需要多次定位一个数据,并且希望快速完成
您不关心不同数据之间的逻辑和关系
您不经常更新,添加或删除数据
每个数据条目的大小都很小
您不介意将所有这些小数据集中在一个地方
这是一个相当广泛的问题。
LDAP是一种用于访问目录的协议。目录包含对象,通常与用户、组、计算机、打印机等相关;公司结构信息(尽管可以扩展它并将任何东西存储在其中)。
LDAP提供了查询方法,用于在目录中添加、更新和删除对象(还有很多其他的方法,但这些是核心方法)。
LDAP不能提供数据库;数据库提供对其自身的LDAP访问,而不是反过来。 它远不止注册。
LDAP 服务器和 LDAP 协议是一种数据存储或数据库。虽然不是关系型数据库,但它是一个专门用于存储数据的地方,并且在读取方面进行了优化以提高效率,而非写入。它不支持事务。
实际上,它非常流行的一个用途是存储凭证,但这并不是它唯一的目的,也不是它最初的目的。
LDAP即轻量级目录访问协议。正如该名称所示,它是一种用于访问目录服务的轻量级协议,具体来说是基于X.500的目录服务。LDAP运行在TCP/IP或其他面向连接的传输服务之上。 LDAP的详细信息定义在RFC2251“轻量级目录访问协议(v3)”以及组成技术规范RFC3377的其他文件中。本节从用户角度概述了LDAP。
目录中可以存储哪些信息?LDAP信息模型基于条目。一个条目是具有全局唯一区别名称(DN)的属性集合。 DN用于无歧义地引用该条目。 条目的每个属性都具有类型和一个或多个值。 类型通常是助记符字符串,例如cn
表示常见名称,或mail
表示电子邮件地址。值的语法取决于属性类型。 例如,cn
属性可能包含值Babs Jensen
。 邮件属性可能包含值babs@example.com
。 jpegPhoto
属性将包含JPEG(二进制)格式的照片。
信息如何排列?在LDAP中,目录条目按分层树状结构排列。
LDAP是轻量级目录访问协议。基本上,它是一种用于从数据库(或其他来源)访问数据的协议,主要适用于大量查询和最小更新的情况(例如,您可以用它来处理登录信息)。
LDAP本身并不提供数据库,只提供查询数据库中数据的方式。
LDAP的主要思想是将用户的所有信息(联系方式、登录名、密码、权限)集中在一个地方,以便网络管理员更容易地进行维护。例如:
LDAP的主要用途是提供更快的数据检索。它充当一个中央存储库,用于存储用户详细信息,可以被各种应用程序同时访问。
如果我们需要多次读取数据但很少更新数据,则LDAP是更好的选择,因为其结构使得读取更快。但是,在LDAP中更新(添加/更新或删除)数据比较麻烦。
LDAP提供的安全性:LDAP可以与SSL和TLS一起使用,因此可用于处理敏感信息。
LDAP还可以与多个数据库一起使用,提供更大的灵活性,以选择最适合我们环境的数据库。
LDAP只是一种访问结构化信息的协议。LDAP标准化了本地和远程访问信息,而在数据库的情况下,只有标准化的本地访问和专有的远程访问。
LDAP服务器优化了搜索操作,而数据库优化了事务(插入/删除)。
有关更多信息,请参阅以下链接: