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.
|