NexusDB is the third generation of a long line of database management systems. The first generation, BtreeFiler, was implemented in the late 1980's. FlashFiler, a TurboPower product, was the second generation, developed in the mid 90's and was open sourced to the Delphi community in 2003. NexusDB was originally intended to become FlashFiler 3. However, TurboPower withdrew from business during this development. NexusDB was then rewritten from scratch to be able to bring the product to market. NexusDB represents the next generation, completely rewritten, building on the heritage from this long-lived line of database management systems.
NexusDB has numerous improvements over its predecessors. The significant improvements NexusDB has made include:
• | Snapshot transactions |
• | Improved SQL - DDL and SQL 2003 compliance |
• | New sub-engine architecture |
• | New memory manager |
• | Improved transports - performance, compression |
• | Batch reads/inserts |
• | General ease-of-use enhancements and client simplification . |
Snapshot transactions are read-only transactions that eliminate the need for issuing locks within the database. They work by keeping copies of the original data blocks aorund when that data has been changed. In essence, database readers do not block database writers without creating any locks,. Snapshot transactions greatly enhance overall performance for read-only operations especially SQL selects.
The SQL engine has been greatly enhanced to support DDL (Data Definition Language). NexusDB V1 supports SQL DDL statements such as "create table" and "create index". Version 2 goes even further and supports more than core compliance of SQL 2003 with a large number of useful vendor specific extensions. The full details of the supported SQL syntax are discussed in the SQL Reference chapter of this manual.
NexusDB uses a sub-engine architecture that enables encapsulation of critical database functionality into different modules. This is a significant difference from other DBMS's. This architecture provides the underpinnings for future extension without modifying the core database engine. NexusDB is truly unique in this regard.
New data transports are included with NexusDB. These transports form a high level messaging system that can be used for different application requirements from a high speed LAN to slow WAN networks. These transports are optimized through extremely advanced techniques (e.g. I/O completion ports) as well as supporting compression and encryption.
Each of these features are covered the manual. Many developers have demonstated that NexusDB easily beats other DBMS's with significant improvements in performance and functionality. NexusDB has many improvements over, for instance, FlashFiler and represents a signficantly improved new generation in this line of databases.