Ability to describe inappropriate uses for directory services.


Try This:

Think of an real-world situation where a conventional database would preform better than a directory service.

Inappropriate Uses

Although the general idea of directory services is highly extensible, there are certain areas where conventional database technology is more appropriate.

The "weaknesses" described here are actually the flip side of a directory service's main strength: the ability to perform data lookups very rapidly and provide that data to a variety of client applications.

Frequent Updates

One of the biggest weaknesses in most directory server implementations is their ability to perform updates rapidly.  Directory servers certainly can do all sorts of updating operations such as adding, deleting, or modifying, but they tend to do these things rather slowly.  Adding and deleting in particular require rebuilding index files which facilitate search and retrieval, but reindexing takes up a lot of time and consumes processing power.  Since these services are designed to be used in a corporate environment with many users, the handicap of slow updates essentially means that frequent updates are not a good idea.

Bottom line: directory servers should not be used in situations that require frequent or rapid updates.

Transactions

Transactions belong to a special class of database interaction that typically involve reading, modifying, and adding information as part of a single, combined operation.  Transactions are all-or-nothing operations that must be completed in total or not at all.  The classic example is the use of an ATM card to withdraw money from a bank account.  Even a simple operation like this involves several database access operations to read the current account balance, record the time of the transaction, and update the remaining balance after the transaction.

Bottom line: directory services should not be used for transactions.

Large Files

Since directory servers store entire sets of entries in memory while they're being used, entries containing large files will consume inordinate amounts of memory at the expense of fast reads.  Examples of large files that shouldn't be managed with a directory service include the following:
  • image files (pictures)
  • source code
  • word-processing documents
  • executable files (programs or applications)
  • audio or video files
Bottom line: directory services should not be used to store and organize large files of any type.  Use pointers to those files instead.

SQL

Most modern database systems support a standardized access method called Structured Query Language (SQL).  SQL allows complex update and query functions at the cost of program size and complexity.  In contrast, LDAP directories use a simplified and optimized access protocol that can be used in "slim" and relatively simple applications.

Copyright © 2000
Sun-Netscape Alliance