LDAP和SQL DB之间的确切区别是什么。哪个更快,为什么

时间:2016-07-30 15:09:32

标签: database ldap

我想知道LDAP和DB之间的区别。

为什么人们说LDAP比DB快。为什么称它为轻量级。

我已经通过google和stackoverflow阅读了很多文档,但我无法得出它们之间的确切差异。

我希望清楚地了解它们之间的差异。

3 个答案:

答案 0 :(得分:1)

LDAP是轻量级目录访问协议的缩写,有几种不同的LDAP服务器实现。

LDAP is a protocol。 LDAP是轻量级的,因为它是从目录访问协议派生的,因为消息交换是轻量级的。

LDAP只有14条基本的请求 - 响应消息。

LDAP数据以分层方式排列,而SQL则是关系数据。

对于几乎所有类似的操作,LDAP服务器实现比大多数SQL服务器实现更快。

答案 1 :(得分:0)

不确定您读到的有关LDAP的内容,但是当您引用SQL DB时,您很可能认为LDAP是一种关系数据库,可用作所有内容的数据存储。

  

轻量级目录访问协议是一种技术   源于X.500协议规范的发展和   实现。 LDAP被设计为快速搜索的手段   通过X.500信息。后来LDAP被改编为引擎   可以驱动自己的目录数据库。 LDAP本身不是数据库;   相反,它是一种支持大批量搜索和定位的技术   希望获得简单定义信息的客户的活动   关于存储在数据库中的记录子集。 LDAP没有   有一个特别有效的机制来存储记录   数据库,它没有事务处理的概念,也没有   保持数据一致性的机制。 LDAP以前提为前提   搜索和阅读活动远远超过任何需要的概念   添加,删除或修改记录。 LDAP确实提供了一种方法   复制数据库以使从属服务器保持最新状态   主。它还具有处理外部引用的内置功能   并推迟。 [Source]

换句话说,有LDAP协议和LDAP服务器。该协议用于访问目录,该目录可以是外部的,例如Microsoft Active Directory,也可以是具有自己的应用程序特定数据库的LDAP服务器上的内部目录。阅读What is LDAP used for?When to use LDAP over a database?以及许多其他类似主题。

P.S。它被称为"轻量级"因为它是另一个复杂且重量级的协议(X.500)的子集。见https://support.microsoft.com/en-us/kb/196455

答案 2 :(得分:0)

LDAP搜索基于树数据结构,这使得它比搜索顺序的关系数据库更快。

例如,如果您使用LDAP和关系数据库存储了来自世界各地的电话号码,现在您想查找居住在伦敦的人的电话号码:

  1. 关系数据库会使用' WHERE'除非找到匹配的记录,否则子句将顺序遍历记录
  2. LDAP将根据此人的位置(大陆/国家/城市/区域/街道)属性搜索数字 并且将跳过不相关的树节点并快速到达具有给定电话号码的节点。