It's frequently stated that using LDAP is a great way to store data about customers. That's beacause users' "directory" is hierarchical also it changes rarely. But for me that does not exclude using RDBMS. What may be good reasons to use LDAP? I suppose that storing multi-valued fields or adding custom fields in LDAP may be simpler but it may be completed in database too (unless of course there are many records)

Interoperability, as was already pointed out, is greatly in LDAP's favour with some kinds of server software, although a lot of the program that integrate with LDAP need a specific schema therefore it is not always as easy as just setting up and setting up an LDAP service and from you go - you will need to include new elements within the schema for every application you need to communicate with, and every application may have different restrictions regarding authentication, for instance.

A great LDAP service takes a lot of configuration understanding too, much more than developing a simple schema in something similar to like MySQL. SQL DB's continue to be a reasonably interoperable option, LDAP support isn't as distinctively dominant because it was previously. Many programs (like Apache) and os's (like Linux's PAM) can authenticate against SQL DB's just like easily as LDAP servers as it is all handled by motorists that abstract the interface.

Where LDAP really stands out is scalability. Should you particularly desire a spot to hold user makes up about authentication and wish to scale to multiple duplicated servers and take care of tends of 1000's of authentication demands another, LDAP is a superb option. It isn't that modern RDBMS's aren't sufficiently good to do that, it is simply that LDAP is (typically) better still due to the actual way it cascades replication through different tiers. It can be done having a couple of RDBMS replication systems, but used not every (specially when it involves doing the work dependably with a large number of servers and extremely huge authentication databases, where queries are usually mostly read procedures where one of the ways replication is definitely an acceptable model).

Really though, searching in an LDAP server is one thing to think about for those who have a particular have to do so, just like a specific package you need to have the ability to interoperate with, or you are creating a high volume authentication system (e.g. an Web service provider or large organisations authentication platform - in which you intend on getting greater than a couple of servers just devoted to authentication alone, and where they might be spread across the nation as well as around the world).

The purpose someone has made about getting an LDAP front-end with an RDBMS is excellent one. A couple of companies - including Oracle (who've a personal desire, clearly) - have items which do particularly that. If you do not want the overhead of controlling an LDAP service, or maybe you want to manage all of your customers inside a DB you may create sights/joins with, but think you might need an LDAP service later, than it is a perfectly valid option. OpenLDAP supports a spend back finish which could take data from the source, including an RDBMS, I suspect others can too.

To sum up, LDAP's great, but it is situation specific to interoperability and extreme scalability. For those who have limited assets to handle and support one, may possibly not be worth the irritation of supporting, but when you plan services like UNIX located POP/IMAP/SMTP or any other 3rd party software integration then it is certainly worth doing (and might become your only option.

Oh and finally be skeptical of the items LDAP server you utilize should you choose choose to implement one! They aren't all produced equal and also the difference's together (when it comes to performance and easy management &lifier configuration) can be very stark.

The "L" in LDAP means Lightweight. One goal of LDAP will be relatively easy to use and implement. If all that you should do is store details about customers, you do not need the entire versatility (and potential headache ) of being able to access your computer data via SQL. A restricted interface as presented by LDAP ought to be simpler. This will be significant if you would like LDAP to become implemented and based on everybody, as well as your os vendor and all sorts of the application suppliers.

PS: Should you desired to, you can always implement an LDAP server by storing all of the info within an RDBMS, and supplying an LDAP interface into it :)

PPS: LDAP is really a protocol, like HTTP. An RDBMS is definitely an application, usually regarded as one which implements SQL, amongst other things. To compare apples to apples, you'd be best contrasting LDAP with SQL or HTTP.

One valid reason is perfect for supplying single sign up across many applications (designed to use the LDAP).