A Brief Discussion of Directories
A directory provides a method of persistence where information can be organized and searched
quickly. This might sound similar to the relational databases that you are used to; however,
there are some fundamental differences.
The most noticeable difference is the way the stored information is organized. In a relational
database, information is stored in tables that are interconnected using foreign keys that refer-
ence a related table. The structure of the information stored in a directory is quite different.
The information is stored in more of a hierarchy that provides a logical relationship between
the objects. The informational structure will look something like Figure 11.1.
o = Airius.com
ou = Groups
ou = People
cn = Tad Hans
sn = Hans
givenName = Tad
uid = thans
mail = email@example.com
telephoneNumber = (123) 432-6581
pager = (123) 239-0911
cn = Bob Smith
sn = Smith
givenName = Bob
uid = bsmith
mail = firstname.lastname@example.org
telephoneNumber = (800) 123-4567
cn = Managers
uniqueMember = uid=thans, ou=People, o=Airius.com
description = The Bosses
F IGURE 11.1
Organization of the data stored in a directory.
The following notes summarize the other differences between a directory and a relational data-
Directories are more suitable for environments where the data is being read quite a bit
and is not being modified often.
Directories generally come with a preexisting schema.
Directories do not support complex joining during searches like a relational database.
Directories have better support for substring searches and for searching on similarities.
Directories are usually quicker and easier to configure and manage than relational data-
bases. They are generally less expensive also.