eXtremeDB Design Principles

Download the white paper "Real-time databases for embedded systems" ( pdf )

The main principle behind the design of eXtremeDB is to eliminate performance overhead while providing a predictable and reliable transactional model. McObject’s approach works best for pseudo-real-time and real-time systems such as telecommunications equipment, factory floor automation systems, process control, zero-latency consumer electronics devices, and medical equipment.

eXtremeDB is a main-memory embedded database that provides direct access to data. eXtremeDB maps the database directly into the application’s address space, providing applications with direct references to the data elements and eliminating expensive buffer management. This fast access to data is further optimized by placing the associated access structures on the application’s stack. The eXtremeDB runtime code is directly linked with the application so remote procedure calls are eliminated from the execution path. As a consequence, the execution path generally requires just a few CPU instructions.

As a main-memory database, eXtremeDB removes the bottleneck of paging data in and out during I/O operations. To further improve the predictability and performance of database read and write operations, the eXtremeDB runtime uses its own highly optimized memory manager that is responsible for all allocations and de-allocations made by the database runtime. eXtremeDB never relies on the operating system’s or C run-time library's memory management.

The eXtremeDB transaction manager is implemented via a simple transaction queue, but adds a modern twist: It is possible to assign different priorities to transactions at runtime. Five transaction priority levels are supported, from the highest level (ISR) to the lowest (IDLE). In future versions, the priority scheme will be extended to support a fully time-cognizant transaction manager. This approach to transaction management is well justified when:

  • the number of simultaneous transactions are relatively few
  • the transactions themselves are short in duration – the time that an application spends in communication with a “lock arbiter” would be comparable to the time to complete the transaction, thus eliminating any justification for more complex concurrency controls.

eXtremeDB implicitly limits transaction duration (i.e. the maximum number of database operations within a transaction is limited), achieving its primary objective of supporting extremely high transaction rates. To provide consistent response times, eXtremeDB implements its own user-space spin-locks to control the mutual exclusion, rather than relying on operating system semaphores. The runtime can be configured to use various techniques such as “test and set” or “compare and set” CPU instructions, or direct access to interrupts.

To address the event-driven nature of real-time systems, McObject’s eXtremeDB provides synchronous and asynchronous event processing functionality, which is also designed to be completely self-sufficient with no dependencies on operating system services.

A high availability (HA) control interface is exposed by the eXtremeDB High Availability runtime extensions and provides the means for the application to configure, establish, maintain and terminate eXtremeDB HA connections. Unlike other vendors who use replication algorithms to provide fault-tolerant system configurations, following the spirit of its design principles, eXtremeDB uses a time-cognizant two-phase commit protocol and time-cognizant failure notifications to ensure high availability of the real-time system.

eXtremeDB does not require an operating system to run, but if an operating system is available, eXtremeDB can take advantages of it. It is currently available on many real-time operating systems including VxWorks, QNX, Windows CE, and real-time Linux platforms, as well as non-real time OS including Linux, Windows NT/2000/XP, Sun Solaris and HP-UX 11.x.

Back to Overview page

 



Highlights
India’s telecom innovator Lifetree Convergence adopts McObject’s high availability embedded DBMS!

Control Engineering magazine features eXtremeDB-HA as key component in safety-critical oil and gas drilling control system.

New eXtremeDB Kernel Mode (KM) deploys in operating system kernel, delivering maximum performance and predictability!

McObject launches support and discussion forums. Take a look.

Related Pages Real-time database technology for…
Solutions | Products | Support | Markets | Company | Partners | Pressroom
Downloads | How to Buy | Privacy/Terms of Service | Contact Us | Home

copyright 2008 McObject LLC
e-mail: info@mcobject.com