Pre*_*gha 38
LDAP可以被视为数据库.但我假设您的意思是SQL数据库.
LDAP数据存储用于与写入相比具有大量读取的系统.而其他数据库(如SQL存储)则设计用于事务数据使用(高读取和写入).
这就是LDAP是目录协议的原因.它非常适合你阅读很多并且几乎不写的目录.
从这里开始
LDAP被称为"一次写入多次读取"服务.也就是说,通常存储在LDAP服务中的数据类型不会在每次访问时发生变化.举例说明:LDAP不适合维护银行交易记录,因为它们本质上会改变每次访问(交易).但是,LDAP非常适合维护银行分行的详细信息,开放时间,员工等.
这是另一个很好的介绍- LDAP vs RDBMS
除了Preet Sangha所说的,你还应该注意到LDAP是非事务性的.服务器可以任意延迟更新,因此下次读取更新的数据可能无法反映更新.如果您有事务要求,则无法使用LDAP; 如果你不这样做,你可以.
也很好读:
没有简单的答案,但以下注释可能有用:
写入期间的性能影响在于更新索引。索引越多(读取速度越快),更新目录的频率就越低。对于大量读取优化的 LDAP 目录,读取:写入比率小于 1,000:1 或更高。
LDAP 复制为每次更新生成多个事务,因此您需要最低的实际更新负载(1,000:1 或更高)。
如果数据量很大(比如 > 10,000 ),即使是少量索引的更新时间也可能很严重,因此您希望保持尽可能低的更新(10,000:1)。
如果数据量相对较小(例如 < 1,000 条记录)、索引适度且未使用复制,我们看不出您不能以接近基于事务的系统的形式使用 LDAP 的内在原因,即每 5 - 10 次访问涉及一次读取然后是写周期(LDAP 术语中的修改)。
我们怀疑这个问题的真正答案是(对已故的悲叹道格拉斯·诺埃尔·亚当斯的记忆表示歉意):读取与写入的比率是 42!
小智 5
这是两者之间的区别: LDAP 对读取进行了高度优化,它可以比您的 MySQL 数据库更快地完成它们,因此从长远来看,它会比您的数据库解决方案更好地扩展,后者为读取和写入优化。
我相信您会发现比 MySQL 更多的应用程序支持 LDAP 作为身份验证方法,并且您将能够将更多应用程序集成到您的目录中。我要提醒的是,在您首先进入 LDAP 之前,您应该先了解一下您的特定 LDAP 实现的管理工具。OpenLDAP 很棒,但是一直手动修改目录很糟糕。