Question

We start to use LDAP and I wonder why LDAP is not that popular? I read that it has faster reads than database, however slower writes.

EDIT:

Its the first time i use LDAP and i have been programming in enterprise for sometime now. That is the reason why i thought its not popular, plus i never heard about it at school.

Was it helpful?

Solution

I think the OP was referring to the use of LDAP-type data (read: hierarchical databases), as a storage mechanism for application data.
While its quite obvious that most network logons are based on LDAP under the covers, it is true that a huge majority of business systems are based on the relational-data model, and very few are based on a hierarchical-data model.

Assuming this is the real question here :), I would provide a few partial answers, that together probably fully answer your question:

  • Complexity and high bar of entry (as @Elijah mentioned)
  • As you mentioned, it's not usually taught in school - and thus is not familiar to many, and therefore not commonly used (Is this recursion, or self-fulfulling prophecy?)
  • Hierarchical datamodels are by design optimized to find specific data, and very costly to write or update new data. Most common business applications are OLTP (transaction) based, and require a large amount of writes (except BI-type apps, will relate to that in a moment).
  • More specifically, hierarchical models are built to find specific elements of data, and not perform JOINs, mass SELECTs, GROUP BYs etc.(I mean this in a logical PoV, regardless of specific context).
  • Most data IS relational, or can fit a relational model most easily. Especially for BI, where you want to see large swaths of data, perform comparisons, etc.
  • Even for data that is not relational, our minds seem to be trained to think "relational-model" easier than hierarchical (though this might be a result of my second point - we were mostly taught this). It's just "easier" to categorize the data in neat rows and columns...

OTHER TIPS

How do you come to the conclusion that LDAP is not popular? In every larger company I worked for they used LDAP as a way to access the central repository of user information.

The comparison to databases is a little weird. LDAP is a protocol, while a database is a term covering a whole bunch of products. Stating that LDAP is faster/slower than a database is like saying HTTP is faster/slower than a webserver, especially since I'd expect to find some kind of database (possibly even a relational database) behind every single LDAP repository.

LDAP is very popular -- it's the protocol used by Windows Active Directory, which is (an understatement here) fairly widespread.

LDAP is great, its an awesome tool for single sign on and internal tools.

Not sure what you mean about faster reads than a database, it's generally run from a server, and authentication is handled over the wire.

It's by design a write-few read-many system, but it does give you more than just a simple users table in a database, it handles authentication for you, so you can plug it into whatever systems you need.

At work we use it for ssh, NFS, intranet access, internal tools, everything. If you used a DB you would need to replicate the authentication code among lots of different systems.

I think your a little off-base on saying it is not popular. If it wasn't popular you probably wouldn't be asking the question. However, I do think its notation and use is a bit complex and creates a high-bar of entry for a relatively simple task and this may have an effect on its adoption rate.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top