何时在数据库上使用LDAP?

Dav*_*dHH 27 database ldap

我应该何时使用LDAP与数据库/键值存储/列导向数据库/等?

Pre*_*gha 38

LDAP可以被视为数据库.但我假设您的意思是SQL数据库.

LDAP数据存储用于与写入相比具有大量读取的系统.而其他数据库(如SQL存储)则设计用于事务数据使用(高读取和写入).

这就是LDAP是目录协议的原因.它非常适合你阅读很多并且几乎不写的目录.

这里开始

LDAP被称为"一次写入多次读取"服务.也就是说,通常存储在LDAP服务中的数据类型不会在每次访问时发生变化.举例说明:LDAP不适合维护银行交易记录,因为它们本质上会改变每次访问(交易).但是,LDAP非常适合维护银行分行的详细信息,开放时间,员工等.

这是另一个很好的介绍- LDAP vs RDBMS


use*_*421 5

除了Preet Sangha所说的,你还应该注意到LDAP是非事务性的.服务器可以任意延迟更新,因此下次读取更新的数据可能无法反映更新.如果您有事务要求,则无法使用LDAP; 如果你不这样做,你可以.

  • 实际上,一些现代专业品质的目录服务器和SDK确实支持事务,尽管你说这不常见是正确的,并且通常与RDBMS相比并不完全相同. (2认同)

mki*_*ind 5

也很好

没有简单的答案,但以下注释可能有用:

  1. 写入期间的性能影响在于更新索引。索引越多(读取速度越快),更新目录的频率就越低。对于大量读取优化的 LDAP 目录,读取:写入比率小于 1,000:1 或更高。

  2. LDAP 复制为每次更新生成多个事务,因此您需要最低的实际更新负载(1,000:1 或更高)。

  3. 如果数据量很大(比如 > 10,000 ),即使是少量索引的更新时间也可能很严重,因此您希望保持尽可能低的更新(10,000:1)。

  4. 如果数据量相对较小(例如 < 1,000 条记录)、索引适度且未使用复制,我们看不出您不能以接近基于事务的系统的形式使用 LDAP 的内在原因,即每 5 - 10 次访问涉及一次读取然后是写周期(LDAP 术语中的修改)。

  5. 我们怀疑这个问题的真正答案是(对已故的悲叹道格拉斯·诺埃尔·亚当斯的记忆表示歉意):读取与写入的比率是 42!


小智 5

这是两者之间的区别: LDAP 对读取进行了高度优化,它可以比您的 MySQL 数据库更快地完成它们,因此从长远来看,它会比您的数据库解决方案更好地扩展,后者为读取和写入优化。

我相信您会发现比 MySQL 更多的应用程序支持 LDAP 作为身份验证方法,并且您将能够将更多应用程序集成到您的目录中。我要提醒的是,在您首先进入 LDAP 之前,您应该先了解一下您的特定 LDAP 实现的管理工具。OpenLDAP 很棒,但是一直手动修改目录很糟糕。