Isode Directory ProductsThe M-Vault Server achieves very high performance for both search and update operations. These features allow scalability to millions of records, without significantly driving up the cost of the directory software. Instead, the scalability cost is mostly associated with the cost of providing the appropriate system hardware to meet performance (processor, I/O subsystem, etc.) and sizing (disk space, backup systems) requirements.

The following figure illustrates the internal architecture of the M-Vault directory server.

The key benefits of this architecture are:

  • High performance.
  • Excellent scalability.
  • Judicious use of system resources.

High performance is achieved using a number of design and implementation features. M-Vault utilises an efficient multi-threaded object oriented task manager that evaluates operations and controls their resolution by use of protocol, local database, or a combination of both. In addition, data is stored and accessed using an enterprise grade disk-based database. The database is implemented in a balanced manner using configurable LRU (least recently used) in-memory caching mechanisms and a scalable b-tree package for efficiently managing the placement, access, and update of information on disk. B-trees are well-known self-organizing data structures whose scalability is limited only by available disk space.

The database technology choice is superior to the two main alternatives:

  • In-memory Database. The advantage of an in-memory database is that directory information is read from disk at startup, and held in memory as long as the directory is running. While this choice is attractive when the directory information is primarily read-only and scalability is not of significant concern. The primary limitation of this approach is that it does not scale: startup time can be significant for large data sets; a large amount of physical memory is required to achieve high performance levels; modifications to information can be slow; response times vary significantly with system load.
  • Off-the-Shelf Relational Database. The relational data model is not a good match with the hierarchical data model of X.500 and the type of search and modify operations which need to be applied to the data. While it is possible to define a mapping of the hierarchical data model into relational form, the resulting set of tables and the relationships defined are typically not effectively used by anything other than the M-Vault Server itself. In order to achieve a suitable mapping while also maintaining high performance across all X.500 directory operations, the relational tables must typically be defined in a manner that makes them unsuitable for use by standard relational access methods, thereby obviating the most compelling advantages. Without these advantages, the extra cost associated with bundling a commercial RDBMS is not economically justifiable.

M-Vault's performance characteristics compare very favourably with our competitors, more information on performance can be found in this white paper describing the results of benchmark testing of Isode M-Vault 10.2.

Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed