eXtremeDB was designed specifically as an in-memory database system, not an afterthought.
The eXtremeDB database management system was originally designed and optimized to be an in-memory database system (IMDS), with direct data manipulation. When a database management system is created, it will, by design and implementation, be either an in-memory database system or an on-disk database management system. This initial choice affects the fundamental optimization strategies that will be baked into the database system code. (For a more in-depth explanation, please review the McObject white paper, Will The Real In-memory Database Please Stand Up on this specific topic.) eXtremeDB is the reliable in-memory database system found around the world in systems from military systems to nuclear power plants that cannot afford to fail.
In-memory database performance
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. Because memory is storage for an IMDS, reducing memory overhead (i.e. RAM consumed for anything other than storing data) is also a key objective.
Using eXtremeDB on embedded platforms (e.g. ARM, PowerPC), typical write accesses are at the level of a few microseconds, or less, and read-only access is sub-microsecond. When used on workstation or server platforms, performance is sub-microsecond. (Visit this page to read one of our in-memory benchmarks.)
When eXtremeDB is used as an embedded database system, the engine is reentrant, allowing for concurrent access by multiple execution tasks or threads. Used on multi-tasking platforms (e.g. Linux and VxWorks RTP), databases can be created in shared memory for concurrent access among many processes. eXtremeDB 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). Systems can be heterogenous, e.g. a server on PowerPC and remote client on x86.
Read more about in-memory database performance. Review a summary of the white paper, Gaining an Extreme Performance Advantage. McObject examined on-disk database system performance vs. that of an IMDS operating with transaction logging. To highlight the effects on performance of today’s diverse data storage options, we ran separate tests using hard disk drive (HDD), solid state drive (SSD) and state-of-the-art flash-based devices as storage for on-disk database records, and for the IMDS transaction log.
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. System developers can make intelligent trade-offs between performance, cost-efficiency, power consumption, and physical space-conserving data storage hardware.
Scalable data management
An eXtremeDB database can be horizontally partitioned (“sharded”) for scalability. This feature leverages the processing power of multiple servers and/or multiple CPUs and/or multiple cores by distributing the data and the data processing to multiple instances of the eXtremeDB server. eXtremeDB’s distributed query engine isolates client applications from the details of the topology. When this technique is applied to multiple servers, the single-server limitation on the size of an in-memory database is overcome. In other words, if a single server has a maximum memory capacity of 768GB, then five servers have an aggregate capacity of 3.84TB.
eXtremeDB offers different distributed database options to address different objectives. This table summarizes the primary purpose and characteristics of each distributed database option (some of which may be combined, e.g. Sharding, Cluster and High Availability). Learn more about distributed data management with eXtremeDB.
Created to be a flexible tool for the professional developer
Fast, flexible eXtremeDB offers more features than any other database management system on the market.
Designed to power systems that cannot afford to fail, eXtremeDB-HA delivers the highest degree of availability, along with its unsurpassed performance and exceptionally small footprint.
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.
Webinars for Professional Developers
Watch to on-demand Webinars, hosted by experts, about proven database management system practices. Watch “Multi-Core & Embedded Software: Optimize Performance by Resolving Resource Contention“. Or, “Embedded Databases: Make or Break Technology Choices for High Performance Applications” and others.
Watch Embedded Databases: Building In Always On High Availability
This Webinar highlights the issue of operational continuity: how can a database system survive the failure of the software or hardware environment in which it operates?
Watch What Makes a Database System ‘In-Memory’?
Join McObject CEO Steve Graves to explore this topic, including the limitations (and burden) of database caching; data transfer and duplication; volatility and recoverability, and more. Gain ideas and techniques for building better, faster software.
Watch Eliminating Database Corruption
Why corruption occurs and provides strategies to prevent it, focusing on hidden dangers – like storage device settings that can undermine data consistency – as well as more recognizable risks, such as passing wrongly typed data to a database run-time.
Review our list of Webinars
Articles for Professional Developers
- Change Data Capture in Embedded Databases Embedded Computing Design
- Industrial Internet of Things (IIoT) Database Usage in Rail Systems insight.tech
- The Importance of Distributed Databases for the Internet of Things Embedded Software Engineer – ESE Kongress edition, page translates
- Comparing Optimistic and Pessimistic Concurrency, Embedded Computing Design
See a list of articles
White Papers for Professional Developers
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 “Database Persistence, Without The Performance Penalty” and more.
Review our research
Some applications require higher data durability than in-memory storage provides. What if DRAM could be made persistent? AgigA Tech’s AGIGARAM non-volatile DIMM (NVDIMM) delivers that capability. McObject benchmarked the eXtremeDB In-Memory Database System using AGIGARAM as storage, including “pulling the plug” mid-execution, and comparing the NVDIMM to transaction logging as a solution for data durability/recoverability. This paper presents the benchmark tests and results.
White paper: Will the Real IMDS Please Stand Up?
In-memory database systems (IMDSs) have changed the software landscape, enabling “smarter” real-time applications and sparking mergers and acquisitions involving the largest technology companies. But IMDSs’ popularity has sparked a flurry of products falsely claiming to be in-memory database systems. Understanding the distinction is critical to determining the performance, cost and ultimately the success or failure of a solution. This white paper examines specific products, seeking to answer the question, “is it really an in-memory database system?”