Top Downloads News Highlights

A McObject Focus—What’s Changing in the Satellite Industry? Read the article in SatMagazine

McObject records another year of impressive innovation and development. 
Read the press release.

XtremeDB v.8.0 adds a suite of new features for the Internet of Things. 
Read the press release.

BlueScope Chooses McObject's eXtremeDB for its Plate Mill Control System. Learn more.

GoldenSource and McObject Launch Fastest RegTech EDM Solution. Learn more

Big Data & IoT Excellence Awards Shortlist eXtremeDB. Click here to learn more.

Sandvine Upgrades to McObject's eXtremeDB. Read the press release.

ViaSat Selects eXtremeDB from McObject to Optimize Metrics Data from its Satellite Ground Network.
Read the press release.

McObject’s new eXtremeDB® v.7.1 offers better speed, enhanced security and greater flexibility. Learn more.

Read "Industrial Internet of Things (IIoT) Database Usage in Rail Systems" eXtremeDB
 goes rolling into the fog.

Read the article, "On the Challenges and Opportunities of the IoT, Interview with Steve Graves". 

XtremeDB Financial Edition DBMS sweeps records in Big Data benchmark. Get details.

Financial Systems Developers:

If you are looking for a low-latency DBMS for algorithmic trading, quantitative
analysis, order matching or other real-time capital markets solutions,
click here.

Printable Version

eXtremeDB High Availability embedded database

View a three minute movie introducing the eXtremeDB embedded database!

Download the eXtremeDB High Availability data sheet (PDF)

Explore the key eXtremeDB features that enable developers to create the most advanced software applications using McObject's real-time database technology.

eXtremeDB High Availability Edition embedded database is a fault-tolerant version of eXtremeDB® designed to answer the challenge, “How can a RAM database survive the failure of the software or hardware environment in which it operates?” Designed to power embedded systems that cannot afford to fail, eXtremeDB-HA delivers the highest degree of reliability, along with its unsurpassed performance and exceptionally small footprint.

In addition to the in-memory database system (IMDS) version, the eXtremeDB High Availability database is available as a hybrid embedded database, called eXtremeDB HA Fusion, that enables developers to combine all-in-memory with on-disk data storage in the same application. For details on the hybrid capabilities of eXtremeDB HA Fusion, see this site’s page for the
eXtremeDB Fusion product.

Process control, telecom and network gear, and other embedded systems with demanding “five-nines” reliability (99.999% up-time) requirements comprise a fast-growing segment of real-time applications. These systems are managing greater volumes of more complex data—creating a need for a fast, lightweight commercial off-the-shelf (COTS) database that can meet their reliability imperative.

Typically, existing fault-tolerant systems use replication schemes to create backup embedded database copies. But replication entails latency from the moment a primary data store is updated, until these changes are propagated to the replica database. Such latency is often unacceptable in time-critical embedded systems (check out the article in Embedded Systems Europe, that highlights different approaches to database replication).

The eXtremeDB-HA runtime maintains multiple identical embedded database instances within separate address spaces. Typical hardware configurations include:

  • Multiple processes or threads within the same hardware instance
  • Two or more boards in a chassis with a high-speed bus for communication
  • Separate address spaces on boards connected via industry standard communication media and protocol such as RS-485/RS-232, Control Area Network (CAN) or Ethernet
  • Two or more controllers connected via a proprietary communication media and/or protocol
  • Separate computers on a LAN 

High-availability database technology for fault-tolerant embedded systems


 eXtremeDB-HA Commit Protocol

McObject’s eXtremeDB High Availability database system can utilize a “2-safe” rugged, time-cognizant two-phase commit protocol that ensures changes to the main instance database and identical standby instances succeed or fail together, or a faster “1-safe” asynchronous replication protocol. A High Availability control interface exported by the eXtremeDB-HA runtime provides the means for the application to configure, establish, maintain and terminate eXtremeDB-HA connections. A time cognizant HA transport protocol enables communication as well as detection of timeout situations. 


High availability database changes are made via a time-cognizant, two-phase commit


Master side

Replica Side

  • Initiates the commit data (phase 1)
  • Sends data to replicas
  • Waits for the commit results from replicas
  • Detaches the replica(s) upon timeout
  • Compare commit results
  • Completes the commit (phase 2)
  • If replica's commit result did not match, detaches the replica
  • Sends a notification to replicas that the commit has been completed
  • Returns to the master application
  • Initializes the database
  • Attaches itself to the master and performs the initial database synchronization
  • Waits for the commit data from the master
  • When the data arrives, commits it to the replica database
  • Sends the commit results to the master
  • Waits for and receives the confirmation from the master that the transaction has been committed or rolled back
  • Continue listening for the next commit message


 eXtremeDB-HA Application Framework

XtremeDB - High Availability uses a communication channel abstraction to allow master and replica applications to use user-defined communication channels to exchange data and communication messages during transaction processing. This is a flexible approach that allows the eXtremeDB embedded database to stay independent of the underlying communication media and the operating system.

At the same time, this approach requires an application to implement the actual communication layer. To facilitate faster development and deployment of fault-tolerant database solutions, the High Availability database package includes the eXtremeDB-HA Application Framework that demonstrates how to build HA-aware applications. The HA Framework includes working examples of communication channels built over various transports. The framework also includes a HA-aware application example that can be configured to use any of the channels provided in the Framework (currently TCP/IP, UDP, Named Pipes and Qnet). In addition, the sample application can be configured to use either the Standard Memory or Shared Memory version of eXtremeDB.

The High Availability subsystem exports an API that isolates the application from platform dependencies and the communication media. The communication protocol API used by the HA subsystem is divided into two layers:

  • A low layer that is referred to as the protocol layer. The protocol layer provides the means for guaranteed data transfer between the master and the replicas, isolating the application and the HA subsystem from platform dependencies and the communication media. The protocol layer implements an independent point-to-point channel between the master embedded database and each replica.
  • A higher layer that is called the interface layer and presents a simplified API that isolates an application from the protocol layer implementation details. In general, you only need to use the protocol layer for user-defined channel implementations. If an application is using one of the channels provided by McObject in the Application Framework, it only needs to use the interface layer API.


High Availability database:  the eXtremeDB HA Application Framework


The HA Application Framework implements a number of channels over the mostly commonly used transports:

  • TCP/IP

  • UDP/IP

  • Named Pipes

  • Qnet™ (QNX Neutrino)