Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL和LDAP的区别_Sql_Ldap - Fatal编程技术网

SQL和LDAP的区别

SQL和LDAP的区别,sql,ldap,Sql,Ldap,我使用过SQL和LDAP,但在最近与一位同行的对话中,我意识到可能还有更多。有时考虑LDAP优于SQL, 因此,我的挑战/请求/问题:您能向我解释一下LDAP优于“电梯中”SQL的优点(和缺点)吗。也就是说,一个简短的2-3分钟的演示。LDAP是访问目录的协议,SQL是数据库的查询语言 这两个系统都存储数据,但最大的区别是:目录(如Active Directory)被调整为读多于写,例如,读取信息应该非常简单,实际上非常简单(并提供很好的性能),而更新可能会有点麻烦。此外:目录通常是分布式的,例

我使用过SQL和LDAP,但在最近与一位同行的对话中,我意识到可能还有更多。有时考虑LDAP优于SQL,


因此,我的挑战/请求/问题:您能向我解释一下LDAP优于“电梯中”SQL的优点(和缺点)吗。也就是说,一个简短的2-3分钟的演示。

LDAP是访问目录的协议,SQL是数据库的查询语言

这两个系统都存储数据,但最大的区别是:目录(如Active Directory)被调整为读多于写,例如,读取信息应该非常简单,实际上非常简单(并提供很好的性能),而更新可能会有点麻烦。此外:目录通常是分布式的,例如分布在多个服务器/位置,并提供了跨位置轻松复制只读数据的机制

另一方面,SQL数据库的读写负载更加平衡,因此,写操作也必须尽可能简单

这可以归结为:

  • 如果您的数据(如用户帐户、权限)大部分是读取的(但不经常更新),那么目录听起来是一个不错的解决方案

  • 如果您需要经常插入新数据并更新现有数据,那么数据库更适合您的需要。不要试图在目录中创建订单输入系统-这是一个不匹配的


这些区别不是“绝对的”或明确的——通常是判断是否将某个内容放入数据库,或是否属于某个目录。

有一个很好的比较,但不幸的是,它仅用德语(非常古老,但这并不重要,因为自2002年以来,SQL和LDAP背后的基本概念都没有改变):

轻量级目录访问协议(LDAP)
是一种用于通过IP网络读取和编辑目录的应用程序协议。更多信息

可以很好地阅读LDAP及其与数据库的区别

此外,请查看以下链接:


在我看来,比较SQL和LDAP就像比较蜜蜂和摩托车……除非我对LDAP有错误的想法,否则我认为你的想法是错误的。今天,大多数人都将所有类型的数据放入SQL。我认为在某些情况下,LDAP是一个更好的数据存储,但我想听听关于它的一些经验/想法。同意Tedd Hansen的观点。它们都是数据存储,并不是说一个是数据存储,另一个是网络协议,例如,在这种情况下,BoltClock的断言是正确的。可能值得补充的是,LDAP解决方案不能保证跨服务器的即时同步(这在非事务性系统中不被视为问题)还可能涉及数据冗余,以帮助用户获得有用的查询答案(在SQL世界中,这将是一种Codd罪行)。@TeddHansen它们实际上都不是数据存储。LDAP是用于访问目录服务的应用层协议(MS Active directory,OpenLDAP).SQL是一种用于访问关系数据库(MySQL、MSSQL…)的语言谢谢。我在网站上找到了另一个有英文PDF的页面:该资源在该地址不再可用。这是一个指向我能找到的最新可用缓存版本的链接。谢谢。太遗憾了,我无法分享这些要点,因为这里有更好的答案。从@Stegan Gehrigs link我还发现LDAP没有关系,因此p这是一个严重的选择限制。