开发者

can i use LDAP servers like ApacheDS as a persistence solution for desktop applications?

a fella recommended me to use ApacheDS as a replacement for my database (MySQL) you can find the discussion here i am completely new to LDAP and ApacheDS (actually i had no idea about it yesterday), i searched about it and read some articles , finally i got this page.

considering LDAP a network protocol (if it is) is it possible or is it a wise choice to use LDAP Servers like ApacheDS as a persistenc开发者_开发百科e solution for desktop applications ?

doesn't LDAP need an application server (like tomcat) to run? can you please light me up :) thnx


LDAP needs an LDAP service to run, like ApacheDS, OpenLDAP or the like. It doesn't need anything else.

There are two advantages of LDAP has over an SQL database.

One is much finer access controls e.g. you can have a "column" which can be updated by anyone in the "adminstrator" group and readable by the user and his/her manager only. The LDAP database can implement your security policy which ensures it is centrally auditable.

LDAP databases tend to have better query and read performance (sometimes by an order magnitude), but much lower write performance (also sometimes by an order of magnitude). This is on the assumption that you use it to look up details e.g. username/password far more often than you change them.

I wouldn't use an LDAP database for logging for this reason.


There are many uses of LDAP as a data store for other things than users. As matter of fact, LDAP is often considered as one of the first NoSQL servers. I know of a teleconference software vendor who used an LDAP directory server to replace a SQL database to gain High Availability and distribution. With their software deployed in several locations worldwide, having a single database wouldn't scale, and created issue at the network level. With LDAP and the multi-master replication capabilities of the server, they were able to have a server in each location, to control the replication flows and even leveraged the distributed nature of data to increase their services. Java based LDAP directory servers like Apache DS or OpenDJ (opendj.org) give you flexibility in the deployment and can even be embedded in Java applications such as Web applications.

Finally while LDAP servers were designed for many reads and few writes, servers now are capable of heavy writes (although I would not use them for write only activities such as logging). OpenDJ for example has been tested with up to 15000 modifications / second on a 10 millions users database. The same configuration was able to handle over 60000 searches per second. To be fair, the JVM heap size was 32GB.

Regards,

Ludovic.


For deploy LDAP you must ldap server only. For example openldap or ApacheDS. I used openldap as a persistence solution for web application and it worked. There is an important difference: sql is relation but ldap is the tree!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜