On the outside, a directory service appears similar to a large database. The directory supports a large amount of data, and the data are organized by node and value. The directory service will catalog different information, depending on its focus. For example, a network directory service will catalog all the resources on a computer, while a domain name system (DNS) directory catalogs websites. The differences between a directory and a database are that a directory can include redundant information, and directories are read more than written, so many write commands are omitted.
A directory service seems just like a database. It holds similar data and organizes every piece of datum into a node and value format, much like some hierarchical and relational database models. The node in a directory is the primary piece of information, while the value is a string of data attached to the node. If the directory were for a phone book, the node would be a name, while the value would be a phone number corresponding to the name.
Directories can be built for many purposes. A network directory details all of the software and hardware in a computer but rarely requires that the user know about the directory or how to access the hardware or software. A DNS directory takes website domain names and makes a number-based domain for the website, which also is rarely seen by the user. Directory technology is versatile, but the directory should only be built for one purpose or the information may clash.
While similar to database models, a directory service has some large differences. In a database, if redundant or repeating information is stored in the tables, it can cause the database to accidentally link truly unrelated data or create programming problems. In a directory, information can be redundant. For example, a phone book directory can include several names that are identical, but the directory will be able to differentiate them based on differing phone numbers.
A directory service can be read and written to, but more often it is only read. This results in many of the write commands found in database technology not being included in directories. Rollback and transaction features are limited, because the directory simply does not need them.
Every directory service must include a blueprint. This blueprint is a set of rules programmed into the directory that tells the directory what information is important, what should be collected, and what information to disregard. Without a blueprint, a directory would attempt to absorb all the information, which would cause it to overload.