LDAP优于RDBMS的优势?

时间:2015-01-23 16:37:30

标签: ldap rdbms

我有一个应用程序,后端作为数据库。

该应用程序是PUB-SUB模型,用户将更改发布到应用程序,其他对等方订阅这些更改。这些更改可能会非常频繁或定期发生,所有更改都必须写入数据库。

现在,我被要求找到用LDAP替换这个RDBMS的可能性。可能他们想要所有应用程序的统一数据库,但无论如何我必须找到两种方法的优点/缺点。

我无法直接将RDBMS a与LDAP进行比较,因为我几乎不知道LDAP,但我试图获得一些。

我知道LDAP是为目录访问而设计的,并且针对读取访问进行了优化,所以它只写一次并且读取很多。我已经读过,频繁的写入会降低LDAP服务器的性能,因为每次写入都会导致索引过程的触发。

为了给出关于LDAP中索引的方案,我的表将有几列说2即。名称和说明现在在LDAP中,我认为这将成为名称和描述两个属性。在我的场景中,它的描述会经常更新。我假设Name将被索引,因此即使Desc经常更改它也不会触发索引过程。

值得一提的是,数据库将托管在某个云平台上。

我试图找出差异,但没有结论我能找到。

2 个答案:

答案 0 :(得分:1)

LDAP是一种协议,REST是一种基于HTTP(协议)的服务。因此,当LDAP服务器不会暴露于互联网时,您希望如何从中获取数据?由于LDAP是协议,因此您需要直接访问LDAP服务器。它就像一个你不会直接暴露在互联网上的数据库服务器。您将构建一个封装它的接口。这也许是一个REST接口。

我试图获得一点是actos,即传输协议和存储后端,而ither是其数据的公共接口。这有点像为什么mysql比webinterface更好。您永远不会公开mysql-server,而是将其协议封装到应用程序中。

REST是一个界面。如何组织该界面背后的数据并不重要。当您决定要以不同方式组织它时,您可以这样做,而不会让API的消费者注意到任何更改。您可以根据服务的改进提供不同版本的API。

另一方面,

LDAP是一种实现。您无法在没有消费者注意的情况下更改数据的处理方式。因此,在不影响消费者的情况下,无法重新安排后端。

使用REST,您可以将后端从MySQL更改为PostgreSQL甚至更改为LDAP,而无需通知您无法使用LDAP。

希望有所帮助

答案 1 :(得分:0)

现在我们终于知道你实际要问的是什么, 哪个无事可做与你的标题,你问题的主体, REST,简单的答案是,没有特别的理由相信LDAP服务器在这个应用程序中的性能会比使用两个车手的RDBMS好得多:

  1. 由于架构问题,它可能甚至不可行,并且
  2. 如果可行,它可能在语义上不合适,因为缺少ACID属性,缺少JOIN,以及评论中提到的其他问题。
  3. 我会说这是我在这里看到的最糟糕的问题之一已经有一段时间了,提取实际问题的难度非常大。