7

我在网上搜索了一个令人绝望的令人失望的答案后,我来找你我的问题:哪个更快:LDAP 还是关系数据库?

我需要设置一个具有用户身份验证和授权的系统。我知道 LDAP 具有满足这种需求的“结构”,但它真的比 MySQL 快吗?

4

3 回答 3

10

出于身份验证和授权的目的,我认为 LDAP 在性能和简单性或安装和维护之间提供了最佳组合。LDAP 作为一种协议非常小,需要的网络带宽也相对较少。小协议还使加密传输具有相当高的性能。

LDAP 也很简单,服务器易于部署,现代、专业质量的 LDAP 服务器提供了与关系数据库相比令人印象深刻的性能,所有其他条件都相同,例如硬件和查询类型。

我同意在您的情况下可以使用其中任何一种,但通常 LDAP 更适合身份验证和授权,因为它简单且维护成本较低。至于性能,我正在测试的 LDAP 服务器每秒提供大约 28,000 次身份验证,而 postgres 在相同硬件上提供大约 42% 的身份验证,尽管很难比较苹果和橘子。

现代专业品质的 LDAP 服务器还为安全密码存储提供极其强大和快速的加密哈希 - 以及在客户端必须使用 SASL 的 DIGEST-MD5 机制实现无密码时需要可逆密码的情况下相当强大的可逆分组密码(如 AES)验证。

于 2012-06-30T14:04:02.603 回答
5

我同意 Al,一般来说不可能说哪个更快。这都是上下文的。我喜欢在这个老生常谈之后,Al 然后提出了一个普遍的观点,即 LDAP 很慢。:) 我离题了...

开个玩笑,归结为您要尝试做什么与目标系统优化做什么。MySQL/MSFT SQL Server/等。被构建为通用存储,您将(倾向于)在其中存储具有各种查询模式的规范化数据。他们在堆栈的许多层都有各种逻辑,可以尝试帮助您对数据进行各种类型的查询和计算,甚至在您最了解时让您向 QP 提示信息。LDAP 目录的优化往往完全不同……比如存储具有特定查询模式的分层组织对象(由 LDAP RFC 指定)。例如,AD 很快……很快。它针对对象搜索和检索以及相关操作(如身份验证)进行了优化。

像任何东西一样,您可以使用得好或不好。

没有处于疯狂的缩放模式,我怀疑你可以非常成功地使用其中任何一个。

于 2012-06-30T05:35:08.697 回答
0

IMO 这不是一个真正的问题,因为它总是取决于特定的实现

我只能把我的经验放在这里:LDAP 慢,SQL 快。我使用 MS SQL 2008,就我而言,由于它对重复查询的智能缓存,它非常快。

但是你需要它非常快吗?在处理用户、授权和身份验证时,基于 LDAP 的解决方案通常可以更轻松、更好地集成到其他软件和/或 LAN 基础设施。

于 2012-06-29T23:32:08.847 回答