LDAP是什么?

数据库
LDAP是一个数据库,但是又不是一个数据库。说他是数据库,因为他是一个数据存储的东西。但是说他不是数据库,是因为他的作用没有数据库这么强大,而是一个目录。

首先LDAP是一个轻量级的产品(LightWeight),是一个Directory(D),存取的协议(Access Protocol)。

我要着重指出,LDAP是一个数据库,但是又不是一个数据库。说他是数据库,因为他是一个数据存储的东西。但是说他不是数据库,是因为他的作用没有数据库这么强大,而是一个目录。

为了理解,给一个例子就是电话簿(黄页)。我们用电话簿的目的是为了查找某个公司的电话,在这个电话簿中附带了一些这个公司的基本信息,比如地址,经营范围,联系方式等。

其实这个例子就是一个LDAP在现实生活中的表现。电话簿的组织结构是一条一条的信息组成,信息按照行业,类比进行了分类。每条记录都分成了若干的区域,其中涵盖了我们要的信息。这就是一个Directory。一个树状的结构,每个叶子都是由一条一条的分成若干区域的记录。LDAP就是这么一个东西。

从概念上说,LDAP分成了DN, OU等。OU就是一个树,DN就可以理解为是叶子,叶子还可以有更小的叶子。但是LDAP***的分层按照IBM的文档是4层。

还是上面这个例子,电话簿由电话公司进行维护,因此写是由他们去写,去组织。写完了,组织好了,就完成了,以后再写,再组织的次数是有限的。而其作用是为了查找。LDAP也是类似,目的不是为了写,主要是为了查找。这就回答了有同志问,有人要写有人要读的并发怎么解决的问题。LDAP的用途不是针对这个来设计的,如果你有这样的需求,解决办法就应该是数据库,而不是LDAP。这就是另外一个例子,Access和SQL Server。Access就是一个数据库产品,但是主要用于家庭,功能和性能都比较弱。SQL Server就是一个专业的数据库系统,功能强大。LDAP是一个轻量级的产品,主要目的是为了查,因此在架构和优化主要是针对读,而不是写。但并不是说LDAP不能满足,只是说强项不在这里。

LDAP作为一个统一认证的解决方案,主要的优点就在能够快速响应用户的查找需求。比如用户的认证,这可能会有大量的并发。如果用数据库来实现,由于数据库结构分成了各个表,要满足认证这个非常简单的需求,每次都需要去搜索数据库,合成过滤,效率慢也没有好处。虽然可以有Cache,但是还是有点浪费。LDAP就是一张表,只需要用户名和口令,加上一些其他的东西,非常简单。从效率和结构上都可以满足认证的需求。这就是为什么LDAP成为现在很人们的统一认证的解决方案的优势所在。

当然LDAP也有数据写入的借口,是可以满足录入的要求的。这里就不多说了。

我认为现在***的LDAP Server,应该还是Microsoft的AD。虽然不一定是标准的,但是的确是用的最多的一个LDAP Server。每个公司只要用到域,就肯定会用到了

原文链接:http://www.cnblogs.com/aooyu/archive/2011/03/15/1985150.html

 

责任编辑:艾婧 来源: AooYu的博客
相关推荐

2017-09-19 15:22:44

2017-03-21 23:29:44

DevOps运维开发

2009-03-26 15:48:00

2009-07-15 15:47:49

iBATIS是什么

2013-02-21 15:40:02

SDN

2009-09-16 09:39:50

ccna是什么CCNA

2009-07-07 16:50:39

ServletResp

2011-06-30 18:23:08

2012-03-15 15:02:27

iUI

2015-11-12 10:03:34

前端H5web

2012-03-09 10:46:35

Adobe AIR是什Adobe AIRAIR

2009-06-22 13:48:45

JSF是什么

2024-07-11 16:32:13

代码Java

2009-11-06 11:41:06

WCF是什么

2009-07-10 17:00:14

MyEclipse D

2021-08-23 06:22:00

PaaSDevOps平台即服务

2022-05-16 23:10:54

稳定币区块链加密货币

2019-11-27 09:03:49

JavaScriptJavaCSS

2018-06-27 16:20:56

2021-01-21 17:27:05

区块链加密货币稳定币
点赞
收藏

51CTO技术栈公众号