Annuaire vs base de données
Un annuaire est souvent décrit comme une base de données, mais c’est une base de données spécialisée qui présente des caractéristiques qui la distinguent des bases de données relationnelles traditionnelles. Une caractéristique fondamentale est que les annuaires sont utilisés essentiellement pour des fonctions de recherche d’informations et pas (ou peu) pour des actions de modification. C’est par exemple le cas dans d’un annuaire téléphonique utilisé par des particuliers recherchant les numéros de téléphone et/ou les adresses postales de personnes désirées. Les modifications sont, quant à elles, apportées chaque année, mais ne concernent que 10 % du contenu de l’annuaire. Cette caractéristique est aussi vraie dans le cas d’un annuaire informatique où les individus répertoriés conservent leurs numéros de téléphone et leurs adresses e-mails pendant toute la durée de leur contrat, ou bien les ordinateurs qui conservent leurs informations d’adressage IP et leurs noms.
Ainsi, comme ils doivent supporter un important volume de demandes en lecture, ils sont généralement optimisés pour ce genre d’accès. L’accès en écriture peut quant à lui être limité aux administrateurs système ou au propriétaire de chaque information. Ce qui n’est pas le cas d’une base de données relationnelle qui doit prendre en charge des applications, telles que les réservations aériennes ou la gestion des opérations bancaires, impliquant de nombreuses actions d’écriture dues aux perpétuelles mises à jour qu’elles impliquent.
Il existe également d’autres différences entre les annuaires et les bases de données relationnelles générales :
	•	La plupart des annuaires ne supportent pas les transactions (à part les modifications internes au serveur LDAP qui peuvent y être apparentées). Pour rappel, les transactions sont des opérations de type "toutes ou rien" ; c’est-à-dire que, pour qu’une opération s’accomplisse, il faut que chacune de ses transactions réussisse. Par exemple, lors du transfert d’argent d’un compte bancaire à un autre, l’argent doit être débité d’un compte et crédité sur l’autre compte dans une transaction unique. Si une seule des opérations échoue ou que quelqu’un accède aux comptes pendant que l’argent est en transit, alors la transaction est annulée.
	•	Le type de données stockées par les annuaires est généralement limité (bien que l’architecture n’impose pas une telle limitation) alors que les bases de données relationnelles générales doivent prendre en charge des applications de natures différentes (bancaire, fournisseur, inventaire). Par exemple, un répertoire spécialisé pour les informations de contact avec des fournisseurs peut se limiter à stocker uniquement des informations personnelles telles que les noms, les adresses et les numéros de téléphone.
	•	Les bases de données n’offrent pas la facilité de duplication (réplication) et de distribution (référent) offerte par les annuaires.
	•	La plupart des bases de données prennent en charge une méthode d’accès standardisée et très puissante appelée SQL (Structured Query Language). Ce langage permet d’utiliser des requêtes de mise à jour et de consultation complexes utilisées par des applications "lourdes" alors que les annuaires utilisent un protocole d’accès simplifié et optimisé pouvant être utilisé par des applications de toutes natures (complexes ou simples).