Novell Home

More Answers to the Directory or Database Question

Novell Cool Solutions: Tip

Digg This - Slashdot This

Posted: 19 Dec 2001
 

After we published our Directory, Database, or Breath Mint? article last month, we got some great supporting material from the engineering ranks. And, being the helpful (and cool) guys we are, felt it our duty to share the info. Enjoy!

What makes a directory service useful is the ratio of reads to writes, not just write speeds. If an object is read many more times (say 100) than it is written to, then a directory is a much better option than a database.

Please understand that eDirectory is a true-blue distributed service. It can scale seamlessly across multiple servers. Most other directory servers can only scale vertically. You need to keep upgrading to a bigger, faster server as your load increases. A simplistic comparison with raw speeds can be very misleading for the customer. Observed differences in speeds is because of safety measures, not technical flaws.

  1. Bulkload speed is very much dependent on Cache RAM. Other directory servers speed along well as long as they are RAM bound. When they start hitting the disk, they adopt questionable practices (like bypassing journaling, schema checks, integrity checks etc.) to sustain high rates. In our case, we decided that it is better to spread the load across multiple servers than to allow integrity checks to be bypassed. Once a bad record gets into a large tree, it is difficult to remove or repair it. Unlike databases, directory trees tend to be used 24x7 and cannot afford to go offline for repairs.
  2. Bulkload speed depends on password encryption method. In the 8.6.1 eDirectory release, we introduced an option to import passwords using hashes and defer the PKI credentials to the first login. By deferring the encryption overhead to first-use time instead of load time, the bulkload speed was increased without having to compromise security.
  3. Bulkload speed is very much affected by online indexes (specifically sub-string indexes). If you suspend unnecessary indexes during bulkload, then objects can be modified much faster.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell