Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

is MongoDB and Ldap the same concept?

As Mysql, sql server, postgre sql etc are basically different implementation of the same concept (rdbms), I am wondering does the same relationship exists between LDAP and MongoDB/CouchDB etc, or is there something more into LDAP?

like image 216
Itay Moav -Malimovka Avatar asked Oct 16 '11 03:10

Itay Moav -Malimovka


3 Answers

LDAP

  • Hierarchical Database model (based on parent/child relationships, like in XML)
  • LDAP is appropriate for any kind of directory-like information, where fast lookups and less-frequent updates are the norm
  • Scalable
  • Standard protocol
  • Not suited for applications that require data integrity (banking, ecommerce, accounting). Traditionally is used to store users, groups, SSL certificates, service addresses, but is a generic database and can be used for any information.

MongoDb

  • Document oriented Database, based on BSON (JSON-like) documents
  • Key value database, but values can be BSON documents
  • High performance in both read and write operations
  • Scalable (Master-Slave replication)
  • Custom protocol
  • Not suited for applications that require data integrity (banking, ecommerce, accounting)

CouchDb

  • Document oriented Database, based on JSON documents
  • Key value database, but values can be JSON documents
  • High performance in both read and write operations
  • Scalable (Master-Master replication with conflict resolutions)
  • REST protocol
  • Not suited for applications that require data integrity (banking, ecommerce, accounting)
like image 126
stivlo Avatar answered Oct 08 '22 00:10

stivlo


The most important thing, which differs LDAP databases from other noSQL, like MongoDB or CouchDB, is very flexible ACL system. For example, you can grant access to the object in the tree, using groups and users stored in the same tree. In fact, you can use objects itself to authenticate against the LDAP server.

IMHO, it is completely safe to allow clients to get access to the LDAP tree directly from the Internet without writing a string of code.

In the other hand, LDAP has a bit archaic design and uses sophisticated approaches to provide trivial operations. Mainly because of that fact, I'm slipping and dreaming, about someone implemented LDAP-like ACL in the any of modern noSQL database. Indeed, why making JSON-based database, if you cannot be authorized against it directly from the browser?

like image 45
user145782 Avatar answered Oct 08 '22 00:10

user145782


SCHEMA is one of the biggest differences.
LDAP data stores have a single system-wide extendable schema (which in real-world, is the the Achilles heel of ldap servers replication...).
NO-SQL has 'no schema' (-or- any schema per object, look at it however you want..).

like image 33
oori Avatar answered Oct 08 '22 00:10

oori