eXtremeDB was designed specifically for embedded systems as an in-memory database system.
The eXtremeDB database management system was originally designed and optimized to be an in-memory database system (IMDS) for embedded systems, with direct data manipulation. When you create a database management system, it will, by design and implementation, be either an in-memory database system or an on-disk database management system. The choice affects the fundamental optimization strategies that will be baked into the database system code. (Review a McObject white paper, Will The Real In-memory Database Please Stand Up, on this topic and how it relates to embedded database systems.)
In-memory database performance in an embedded database system
To optimize an on-disk database is to minimize disk I/O, so its design will use extra CPU cycles and extra memory to reduce or eliminate I/O. Conversely, IMDSs by definition eliminate all disk I/O. In other words, their optimization is primarily about delivering the highest performance at a given level of processing power. For an in-memory database, the focus is on reducing demand for CPU cycles. And since memory is storage for an IMDS, reducing memory overhead (i.e. RAM consumed for anything other than storing data) is also a key objective.
With eXtremeDB on embedded platforms (e.g. ARM, PowerPC), typical read and write accesses are at the level of a few microseconds, or less. On workstation or server platforms, performance is sub-microsecond. (Visit this page to read one of our our in-memory benchmarks.)
When used as an embedded database system, the engine is reentrant, allowing for concurrent access by multiple tasks or threads. On multi-tasking platforms (e.g. Linux and VxWorks RTP), databases can be created in shared memory for concurrent access among many processes. Transactions support the ACID properties, assuring data integrity.
eXtremeDB can also operate as a client/server database system. Client applications can be local (executing on the same system as the eXtremeDB server) or remote (executing on different systems that are connected to the eXtremeDB server system via TCP/IP)
Hybrid data storage
Unlike other IMDS, eXtremeDB can combine the strengths of on-disk and in-memory database systems. In other words, eXtremeDB databases can be all-in-memory, all-persistent, or have a mix of in-memory tables and persistent tables. This unparalleled flexibility enables developers to tailor data management in order to optimize applications for speed and persistence. Developers can make intelligent tradeoffs between cost-efficiency, power consumption, and physical space-conserving data storage hardware.
In-memory and embedded systems
When used as an in-memory, embedded database system, eXtremeDB eliminates sources of latency such as cache misses, inter-process communication, remote procedure calls and creation of multiple copies of data. Learn more about eXtremeDB in real-time systems.
Built as a true in-memory database system, eXtremeDB has always taken responsibility for memory management. As an embedded database system, eXtremeDB creates no processes or threads. And eXtremeDB has never had any dependencies on the operating system or C runtime library and can, in fact, run on “bare metal” with no operating system whatsoever. (Learn more on our FAQ page.)
Small footprint, real-time data management
Small footprint, real-time eXtremeDB is being used successfully in manufacturing, transportation, telecommunications and other fields to meet the high demands of real-time systems. While traditional databases have long served as back-end repositories for control systems, eXtremeDB differs in that it serves as a persistent or in-memory database system that is integrated within the control systems’ real-time processes.
eXtremeDB can achieve predictable response times in the microsecond range, and is designed to operate in the harsh environment of real-time systems. It thrives within the strict requirements for resource utilization, and is ready to provide the performance and reliability required by real-time control applications.
Binary Schema Evolution
Binary Schema Evolution (BSE) is used to implement “in-place” upgrades that involve changes to the database structure in running systems, without interrupting the availability of the system.
This feature enables eXtremeDB to notify an application when something “of interest” in the database changes.
Learn more about in-memory database systems from the database experts at McObject.
In-memory Database White Papers & Benchmarks
We have been testing, improving on, and retesting our software from the beginning in 2001 in order to provide our clients with the best possible data management solutions. Read In-memory Database System Myths and Facts and others.
Telecom & Netcom
eXtremeDB powers routers, application traffic management, SCADA network fault management and more from industry leaders like F5, ViaSat, Motorola, Sandvine, Hutchinson, TNS and Ribbon that require real-time performance and five 9s high availability.
Internet of Things
eXtremeDB’s Active Replication Fabric™ manages all aspects of IoT data communication: security, low bandwidth, intermittent connections, multi-tier and bi-directional replication, and more.
Aerospace & Defense
Northrop Grumman, Lockheed Martin, British Aerospace, EADS and others depend on eXtremeDB’s reliability, unmatched performance and broad platform support.
eXtremeDB’s unique hybrid row- and columnar-layout (OLTP and time series) coupled with pipelined functions for statistical analysis and scalable distributed database architecture power record-setting STAC-M3 benchmark results.
JVC, DirecTV, GoPro and others all discovered that eXtremeDB’s small code size, portable data format and efficient use of compute & storage can reduce component cost while also supporting data-hungry new features.
eXtremeDB’s sophisticated event notification systems, time series data processing and high availability have powered its wide-spread adoption in SCADA, fleet management, smart building automation and other verticals.