I server LDAP sono spesso utilizzati in un ambiente Web e spesso i dati dell'utente. Il Single Sign-On è quasi sempre supportato da un archivio dati LDAP. Quello dovrebbe sempre usare un database (relazionale) piuttosto che altri archivi dati è ... scadente.
La chiave con qualsiasi archivio dati è quella che utilizza quella più appropriata per i dati. A volte i dati si adattano meglio in un database tradizionale, a volte è meglio in un archivio dati in stile nosql, altre volte è una directory. Si dovrebbe usare l'archivio dati appropriato per i dati.
La cosa su cui LDAP eccelle è la ricerca veloce di dati che cambiano raramente. Tornando ai dati dell'utente (ad esempio), email, password, nome e ruoli cambiano raramente.
Allo stesso modo, i dati memorizzati nella cache spesso si adattano bene a una directory in cui si calcolano i dati e quindi si caricano (che viene quindi letto frequentemente).
Le directory, tuttavia, non amano frequentemente l'aggiornamento dei dati. È un compromesso: puoi ottimizzare le letture se penalizzi le scritture. Ricostruire gli indici al volo non è qualcosa che LDAP fa bene quando lo si confronta con un database relazionale.
Le transazioni (e quanto bene) funzionano sono ancora in flusso all'interno di LDAP. Se si desidera che più aggiornamenti siano una singola operazione atomica, ciò potrebbe causare problemi.
L'integrità referenziale (chiavi esterne, vincoli univoci) non esiste all'interno di LDAP. Allo stesso modo, se è ciò di cui hai bisogno, potresti trovarlo difficile.
Mentre un potrebbe comprimere i dati JSON in un campo all'interno di LDAP, LDAP stesso non tenta di eseguire le strutture di dati presenti in altri database.
Se si sta eseguendo un numero non occasionale di scritture o aggiornamenti (e quindi di impatto sulle prestazioni), "join" di dati anziché filtri o maggiore coerenza rispetto alle offerte di replica LDAP, è possibile che l'archivio dati LDAP non sia appropriato .
Ma come archivio dati per cose che raramente cambia, è spesso uno dei migliori.