NexusDB utilizes Symmetric Multi-Processor systems completely. The overall affect is higher server performance - work gets done at the server in a shorter period of time. Throughput is maximized due to three reasons:
• | Fully threaded core. |
• | New memory manager improves allocation/deallocation and reduces memory fragmentation. |
• | Designed to minimize single-threaded serialization points. |
A fully threaded core is important because NexusDB will harnesses the full power of your SMP machines unlike databases that require a CPU affinity to be set. The fully threaded core enables the OS to schedule these threads across all of the CPU's, thus maximizing performance. This is a significant advantage and a requirement for enterprise class scalability.
The replacement memory manager reduces heap fragmentation and enables threaded allocation and deallocation. Most default memory managers (including the Delphi one) fragment the heap over time. They also synchronize all memory allocation and deallocation, thus creating a huge bottleneck for multi-threaded applications. For server applications it is essential to minimize fragmentation and maximize threaded memory allocation. The NexusDB replacement memory manager does exactly this and it can be used in all your applications as well.
The design of NexusDB has been crafted from the beginning to minimize serialization points to maximize threaded throughput. It is important that these are initial design goals since refactoring a code base to account for threading is not optimal at best and problematic at worst. NexusDB has been designed to be an enterprise class database management system with all the performance characteristics of such a system.