Select Page

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.

}

Learn more about what makes eXtremeDB the ideal database for real-time systems

i

Real vs. imitation in-memory database systems – what’s the difference and why does it matter?

t

Why is the IMDS an ideal way to reduce memory consumption in embedded systems?

eXtremeDB enables the developer to easily combine both database paradigms – in-memory and on-disk – in a single database instance.

Z

eXtremeDB runs on the device, gateway and server, leveraging staff skills to cut development time.

The eXtremeDB reliable in-memory database system is found in systems that cannot afford to fail

Operator Interface for the transportation subsystem, Radioactive Waste Treatment Facility, Smolensk Nuclear Power Plant. Sensor data populating the BISMARC interface is drawn from the eXtremeDB in-memory database.

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.

 

$

Learn how eXtremeDB reduces memory consumption.

Learn more about flexible eXtremeDB for embedded and client/server

We created the eXtremeDB in-memory database for professional developers, and offer more features to chose from than any other DBMS.  

i

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.

u

Learn why being designed and implemented as an in-memory database system is a crucial first step for a hybrid database system.

Learn about eXtremeDB hybrid data management.

U

Get technical about eXtremeDB hybrid data management in our online documentation.

Chart of the hybrid storage of the eXtremeDB in-memory database system

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 is a scalable IMDS

Distributed database options

eXtremeDB offers different distributed database options to address different objectives. Review this table to learn more. 

Speed and reliability

The IMDS as a powerful, persistent memory caching solution

Elastic scalability

Learn more about Sharding.

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.

Z

High Availability

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.

1

Cluster

eXtremeDB Cluster is unique as the first clustering database system to offer an embedded architecture.

Native and SQL APIs for C/C++, Java, C#, Python

eXtremeDB provides the developer with multiple application programming interfaces (APIs). Learn more 

d

A Wide Range of Supported Data Types

eXtremeDB supports structures, arrays, vectors and BLOBs for maximum efficiency. Learn more about this and other key features, or get a full list of data types from our online documentation.

Multiple Database Indexes

B-Tree, R-Tree, Patricia Trie, KD-Tree, Trigram and Hash indexes.  Learn more

Security and Reliability

eXtremeDB protects your database with encryption, and CRC32 to detect tampering.

t

eXtremeDB FAQs

List of eXtremeDB features

U

eXtremeDB documentation

Evaluate free
trial software

Originally designed as an in-memory database system.

Learn why this matters

Embedded & Real-time Systems

The eXtremeDB in-memory database system was designed specifically for use in resource-constrained, mission-critical and safety-critical embedded systems.

Learn more about eXtremeDB in-memory database for embedded systems

s

Learn what makes eXtremeDB ideal in real-time systems

High Performance Computing

eXtremeDB in-database analytics offers breakthrough efficiency and can be used with the product’s in-memory database system (IMDS) capability, or independent of it.

Learn about hybrid eXtremeDB for Big Data and Analytics or for Financial systems

Learn more about the IMDS as a powerful, persistent memory caching solution.

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.

i

Learn why starting with an in-memory database makes for a better hybrid system.