M-Vault features very high performance for read, search and modification functions, combined with a high level of scalability to directories containing tens of millions of entries. M-Vault's high performance multi-protocol, multi-threaded architecture is scalable to multi-processor platforms and can be easily extended to support additional protocols. SMP (Symmetric Multiprocessing) is supported to exploit the power of multiprocessing systems. 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. One particular area of note is M-Vault's use of a Transactional In-Memory Database. This confers a number of benefits:
- Extremely high read and write throughput.
- Small on-disk footprint.
- High resilience as a consequence of code optimized solely for Directory operations.
- Standard disk backup (which can be done while M-Vault is running).
All M-Vault configuration information, including database and replication configuration is held as directory information in a distinct and specific naming context. This makes configuration changes and configuration viewing straightforward with standard LDAP tools as well as Isode management GUIs.
An M-Vault server is named in this configuration, and so changing the name of a server is straightforward.
Master and shadow data do not have special storage, so conversion from shadow to master is easy (just remove the supplier agreement).
Default access control is stored, which makes it straightforward to add new naming contexts with consistent access control.