Skip to main content
Select Page

Home » eXtremeDB/rt home » eXtremeDB/rt Questions & Answers

Get a free trial
eXtremeDB/rt logo

Questions and Answers

 

We hope this answers your questions about eXtremeDB/rt.  If you have any further questions about it, or would like to get a free trial, please contact us.

Q) What is eXtremeDB/rt?

A) eXtremeDB/rt is an embedded database management system with unique hard real-time capabilities and an integrated Transactional Flash Translation Layer (TFTL™) for direct access to raw NAND flash. It supports both transient and persistent databases. The hard real-time and storage capabilities are complementary but can be used independently. A hard real-time database can reside entirely in RAM, while applications without hard real-time requirements can still use eXtremeDB/rt for persistent storage. Much like an RTOS schedules tasks to meet their deadlines, eXtremeDB/rt schedules database transactions to meet theirs. It provides predictable transaction scheduling, priority-aware concurrency control and deterministic execution, extending hard real-time behavior into the database. For persistent databases with hard real-time requirements, eXtremeDB/rt uses its integrated xFlash™ TFTL to access raw NAND flash directly. This gives the database control over the storage I/O path. The bounded operation times specified by the flash device can then be included in transaction timing guarantees. For persistent databases that do not require deterministic storage I/O, eXtremeDB/rt can use xFile™ with managed flash devices such as SD, eMMC, SSD and NVMe.

Q) Do ACID properties apply to eXtremeDB/rt?

A) Yes. eXtremeDB/rt provides full ACID transactions. Atomicity ensures that a transaction is completed in its entirety or not at all; consistency preserves database integrity; isolation prevents concurrent transactions from interfering with each other; and durability ensures that committed data in a persistent database survives a restart or failure. eXtremeDB/rt adds time constraints to these conventional transaction properties. Transactions can have deadlines, and the database uses real-time transaction scheduling and concurrency control to meet them. The application can also select a real-time policy that determines how eXtremeDB/rt handles transactions when their timing requirements cannot be met. ACID properties are preserved regardless of the real-time policy used.

Q) Does my application need hard real-time transaction support to benefit from eXtremeDB/rt?

A) No. eXtremeDB/rt is also designed for resource-constrained, deeply embedded systems. Its small code and RAM footprint, low stack requirements and extensive configurability allow the database to be tailored to the resources available on the target. It can run with an RTOS or on bare metal, making it well suited for applications such as sensor fusion, data acquisition, monitoring and control, where the database can be part of the application’s control path rather than used only to store logs, traces, configuration and diagnostic data.

eXtremeDB/rt also provides tightly integrated low-level storage. xFlash™ provides direct transactional access to raw NAND flash, eliminating the need for a separate FTL and file system. xFile™ provides a transactional storage layer over managed flash devices such as SD, eMMC, SSD and NVMe, where the FTL is implemented by the device controller. xFile can access these devices directly without a file system. This reduces the storage software stack, footprint and I/O overhead, and can improve performance.

Q) What is the memory footprint of eXtremeDB/rt?

A) eXtremeDB/rt requires a minimum of approximately 45 KB of RAM when execute-in-place (XIP) is available. In real applications, the memory footprint is normally larger and depends on the database layout, the features used and the application’s data and runtime requirements. That said, eXtremeDB/rt is highly configurable. Functionality that is not required by the application can be left out of the database kernel, allowing the code, RAM and stack requirements to be matched to the resources available on the target.

Q) What storage media does eXtremeDB/rt support?

A) eXtremeDB/rt supports both transient and persistent databases. Transient databases typically reside in RAM. Persistent databases can use a variety of non-volatile storage media, with flash being the most common in embedded systems. For persistent hard real-time databases, eXtremeDB/rt uses xFlash™ to access raw NAND flash directly. Raw NAND operations have bounded execution times specified by the device manufacturer, allowing storage I/O to be included in transaction timing guarantees. For other persistent storage, xFile™ provides access to block devices and file-based storage. This includes managed flash devices such as SD, eMMC, SSD and NVMe, where flash management is performed by the device’s internal controller. Other non-volatile media can also be used through the appropriate storage interface.

Q) What class of applications benefit from using eXtremeDB/rt?

A) eXtremeDB/rt is designed for deeply embedded systems with limited CPU and memory resources, particularly stand-alone systems that operate autonomously with little or no external control. These systems commonly use flash memory for local storage and need a small, self-contained database that can operate close to the hardware.

Robotics and IoT edge devices are contemporary examples of this architecture, while industrial and process control, automotive, transportation and avionics are more traditional applications. Sensor fusion, data acquisition, monitoring and instrumentation are other common use cases. Some require hard real-time database transactions; others benefit primarily from the small resource requirements, direct access to storage and small software stack of eXtremeDB/rt.

Q) A search of the internet for ‘real-time database’ is dominated by systems that provide real-time analytics. What is the difference between those products and eXtremeDB/rt?

A) For database systems, “real-time” is often used simply to mean fast. Hard real-time is fundamentally different.

In a hard real-time system there is a line in the sand: a deadline. Completing an operation after that deadline is a failure, even if the system is extremely fast on average. Meeting the deadline every time requires predictable latency throughout the execution of an operation, latency that is bounded and known in advance. eXtremeDB/rt applies this principle to database transactions, scheduling and controlling their execution so they meet their hard deadlines. Its small execution path and very tight integration with the underlying RTOS and hardware also provide very low latency. The defining difference, however, is not simply speed, but predictable execution that allows transactions to meet their hard deadlines.

Q) What operating systems and storage devices does eXtremeDB/rt support?

A) eXtremeDB/rt is available for a range of real-time and general-purpose operating systems, as well as bare-metal environments.

Real-time operating systems

Operating system Vendor Representative platforms
Deos™ DDC-I NXP® iMX
Eclipse ThreadX© Elipse Foundation STM32 NXP
embOS™ SEGGER STM32
FreeRTOS™ Amazon STM32, NXP, ESP32
INTEGRITY® Green Hills Software ARM-based platforms
LynxOS-178® Lynx Software Technologies x86_64 platforms
PX5™ PX5 STM32
QNX® Blackberry® ARM-based, x86_64 platforms
VxWorks® Wind River® ARM-based platforms
Zephyr™ RTOS The Linux Foundation STM32, NXP, ESP32

Non-real-time operating systems

Operating system Vendor Representative platforms
Linux Linux ARM-based, x86_64 platforms
macOS® Apple® Apple Silicon
Windows® Microsoft® x86_64 platforms
Q) Is eXtremeDB/rt available for certified versions of real-time operating systems?

A) Yes. eXtremeDB/rt is available for selected safety- and security-certified RTOS environments, including DEOS, LynxOS-178, VxWorks 653 and INTEGRITY-178B. Certification applies to the underlying RTOS; eXtremeDB/rt is provided for use in these environments.

Q) Can eXtremeDB/rt be used without an operating system (bare metal)?

A) Yes. eXtremeDB/rt can run directly on bare-metal systems. If the platform provides access to a system timer, eXtremeDB/rt can provide its hard real-time transaction functionality without an RTOS.

This also applies to persistent hard real-time databases. With xFlash™, eXtremeDB/rt accesses raw NAND flash directly, giving the database direct control over the storage I/O path without requiring an operating system or file system.

Q) How can I evaluate eXtremeDB/rt?

A) An eXtremeDB/rt evaluation normally has two parts: developing the database and its access logic, and integrating the database kernel with the target platform. These two parts can be done in parallel. The database design and application logic can be developed and tested on a host machine, simplifying development of the database access logic. We also provide AI skills to help developers get started with the eXtremeDB/rt APIs and database development. The target hardware, operating system and toolchain can be selected and evaluated separately. For target integration, we provide source code and preconfigured source configurations for supported operating systems, hardware platforms and development toolchains. If your particular configuration is not already available, we create it for you. The evaluation package includes the documentation and integration guidelines needed to build the database kernel and add it to your application, and examples covering the major eXtremeDB/rt features. The flash simulator lets you develop and test persistent raw flash database configurations without the actual flash hardware. xPanel™ and the lightweight web server can be used to inspect a running database.

We know from experience that integrating third-party software with an embedded platform can take time and often involves board, RTOS, toolchain, storage and driver issues. It is in everyone’s interest to get through this part of the evaluation quickly, so our engineers work directly with your developers when needed. We help with integration problems, put together small PoCs and provide missing platform-specific pieces, such as low-level flash memory drivers, when necessary.

Q) What do the eXtremeDB/rt distributions include?

A) The RTOS and desktop distributions include the same database libraries, complete API documentation, RTOS integration guides, and a large collection of sample applications. The samples cover common database operations, persistent storage, and RTOS integration, allowing you to develop and test your application on a desktop system before moving to the target platform.

For applications that use persistent storage, the distributions also include a flash simulator. It lets you develop and test applications that use flash storage without requiring the target hardware. When you move to the target platform, replace the simulator with the appropriate storage driver.

Q) How is eXtremeDB/rt licensed?

A) eXtremeDB/rt is commercially licensed. Licensing depends on the target platform, application requirements, development team size and expected deployment volume. Contact McObject to discuss the appropriate license for your project.