For hard real-time systems
Reliable In-memory Database System
Proven the fastest and most reliable in-memory or hybrid database system from edge to cloud.
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.
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 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.
eXtremeDB was 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.
Hybrid In-memory and/or Persistent
Combine both database paradigms – in-memory and on-disk – in a single database instance. Specifying one set of data as transient (managed in memory), while choosing persistent storage for other record types, requires a simple database schema declaration.