我有一个应用程序,后端作为数据库。
该应用程序是PUB-SUB模型,用户将更改发布到应用程序,其他对等方订阅这些更改。这些更改可能会非常频繁或定期发生,所有更改都必须写入数据库。
现在,我被要求找到用LDAP替换这个RDBMS的可能性。可能他们想要所有应用程序的统一数据库,但无论如何我必须找到两种方法的优点/缺点。
我无法直接将RDBMS a与LDAP进行比较,因为我几乎不知道LDAP,但我试图获得一些。
我知道LDAP是为目录访问而设计的,并且针对读取访问进行了优化,所以它只写一次并且读取很多。我已经读过,频繁的写入会降低LDAP服务器的性能,因为每次写入都会导致索引过程的触发。
为了给出关于LDAP中索引的方案,我的表将有几列说2即。名称和说明现在在LDAP中,我认为这将成为名称和描述两个属性。在我的场景中,它的描述会经常更新。我假设Name将被索引,因此即使Desc经常更改它也不会触发索引过程。
值得一提的是,数据库将托管在某个云平台上。
我试图找出差异,但没有结论我能找到。
答案 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好得多:
我会说这是我在这里看到的最糟糕的问题之一已经有一段时间了,提取实际问题的难度非常大。