McObject announced the release of eXtremeDB 4.0 beta, a major upgrade to its in-memory and on-disk embedded database system for real-time applications. New features in eXtremeDB 4.0 include a fast, new native application programming interface (API) that enhances developer productivity; higher database performance via improved multi-user coordination; and support for the KD-Tree, a database index that is vital to many spatial and pattern-matching applications.
eXtremeDB version 4.0 adds multi-version concurrency control (MVCC), which can dramatically improve scalability and performance in real-time applications by enabling separate tasks or processes to access and update the database simultaneously. It accomplishes this by giving each task that updates the database a “snapshot” or copy of objects, and prioritizing tasks’ changes to the database via timestamps placed on each of the copies. This capability makes eXtremeDB the most scalable real-time database solution, and particularly compelling for telecommunications, networking, securities trading and other high volume applications.
eXtremeDB 4.0′s new k-dimensional or KD-Tree index adds a structure for storing and manipulating point objects in a k-dimensional space by partitioning that space. Practical uses include computer graphics, geographical information systems and biometric applications such as fingerprint matching. KD-Trees are also used to create software in which query predicates contain various combinations of object fields — for example, to construct Query-By-Example (QBE) features in which the user selects fields and values, and the application builds database queries based on these selections.
For developers working with eXtremeDB 4.0, the KD-Tree expands programming efficiency, reducing embedded software’s time-to-market. It also can lead to more efficient code, enabling applications to do more with embedded systems’ typically tight CPU and RAM resources.
eXtremeDB 4.0 also introduces a Uniform Data Access (UDA) programming interface, which builds on one of the product’s greatest strengths: unmatched flexibility provided by multiple database APIs. In past versions, developers using eXtremeDB could choose industry standard SQL and ODBC interface functions, as well as a faster, project-specific native API that is generated dynamically when an eXtremeDB database schema is compiled. Because this native interface is specific to a given data design, it is type-safe as well as intuitive, with function names that are self-documenting.
With the new UDA API, eXtremeDB 4.0 provides a different kind of native interface: a static library of database functions that remains the same across all projects. Like the existing project-specific API, this new interface is both native — it works directly with C/C++, the host language—and navigational, in that it proceeds through the database one record in the database at a time. These qualities make eXtremeDB’s two native APIs faster and more deterministic than SQL, and well-suited for real-time applications.
eXtremeDB 4.0 beta software is available immediately. Developers can sign up to obtain it. General release is scheduled for first quarter, 2009.