eXtremeDB is a high performance, low-latency, ACID-compliant embedded database management system using an in-memory database system (IMDS) architecture and designed to be linked into C/C++ based programs. It works on Windows, Linux, and other real-time and embedded operating systems. Building on this core IMDS, there are several editions supporting high availability, database clustering, hybrid (in-memory and disk-based) data storage, columnar layout of time series data (such as financial market data) and other specialized abilities.
McObject introduced eXtremeDB in 2001, targeting embedded systems running in resource-constrained environments (i.e. with limited random-access memory and relatively low-powered central processing units). eXtremeDB characteristics appealing to this market include a small code size (approximately 150 KB), native C language application programming interface, available source code, and a high degree of portability (to support the varied processors and operating systems used in embedded systems). Early deployments by customers included integration in digital TV set-top boxes, manufacturing and industrial control systems, and telecom/networking devices. eXtremeDB emerged to manage what industry analysts, and McObject, portray as significant growth in the amount of data managed on such devices; the company claims eXtremeDB was the first embedded database management system (DBMS) developed specifically for such environments
Later editions targeted the high performance non-embedded software market, including capital markets applications (algorithmic trading, order matching engines) and real-time caching for Web-based applications, including social networks and e-commerce. Features added to support this focus include a SQL ODBC and JDBC interfaces, 64-bit support, and multiversion concurrency control (MVCC) transaction management.
Product features 
Core eXtremeDB engine 
eXtremeDB supports the following features across its product family.
In-process architecture 
Application programming interfaces 
- A type-safe, native, navigational C/C++ API
- SQL ODBC/JDBC API (included in eXtremeSQL edition)
- Native C# (.NET) API
- Java Native Interface (JNI)
Database indexes 
Concurrency mechanisms 
eXtremeDB supports multiple concurrent users, offering ACID-compliant transactions (as defined by Jim Gray) using either of two transaction managers: a multiple-reader, single writer (MURSIW) locking mechanism, or multiversion concurrency control (MVCC) transaction manager (optimistic non-locking model).
Supported data types 
Optional features 
Distributed database management abilities 
The eXtremeDB high availability edition supports both synchronous (2-safe) and asynchronous (1-safe) database replication, with automatic failover. eXtremeDB Cluster edition provides for shared-nothing database clustering.
Hybrid storage 
Transaction logging 
eXtremeDB Transaction Logging edition keeps a record of changes made to the database and uses this log to provide recovery in the event of device or system failure. This edition includes eXtremeDB Data Relay technology that replicates selected changes to external systems such as enterprise applications and database systems.
SQL ODBC/JDBC 
Kernel mode deployment 
Features for managing market data 
eXtremeDB Financial Edition provides features for managing market data (tick data) in applications such as algorithmic trading and order matching. A “sequences” data type supports columnar data layout and enables eXtremeDB to offer the benefits of a column-oriented database in handling time series data. The Financial Edition also provides a library of vector-based statistical functions to analyze data in sequences, and a performance monitor.
McObject has published several reports on benchmark tests employing eXtremeDB to examine in-memory database system abilities. Main-Memory vs. RAM-Disk Databases: a Linux-Based Benchmark examined IMDS performance versus that of a traditional on-disk DBMS deployed on a RAM disk, on identical application tasks. The benchmark’s stated goal was to test the thesis that an IMDS streamlined architecture delivers a performance benefit beyond that provided by memory-based storage. Another benchmark, the Terabyte-Plus In-Memory Database System (IMDS) Benchmark, documented IMDS scalability and performance in the size range of large enterprise application (versus embedded systems) databases. For the test, engineers created a 1.17 terabyte, 15.54 billion row database with eXtremeDB on a 160-core SGI Altix 4700 system running SUSE Linux Enterprise Server 9.
In November, 2012 the Securities Technology Analysis Center (STAC®) released an audited STAC Report covering baseline STAC-M3 Benchmarks of eXtremeDB Financial Edition running with Kove XPD L2 storage on Dell servers with Mellanox InfiniBand. This configuration set records for lowest mean latency (response time) in 15 of the 17 benchmarks in the STAC-M3 suite of tests. STAC-M3 is designed for testing time-series management solutions (aka tick databases), which take historical and real-time streaming data as input, and perform user-defined operations on the resulting time series.
Applications and customers 
- DirecTV – electronic program guide (EPG) in digital TV set-top box
- BAE Systems – avionics in Panavia Tornado GR4 combat jet
- NSE.IT (National Stock Exchange of India’s consulting group) – algorithmic trading
- MyYearbook – newsfeed and other real-time functions for social networking Web site
- F5 Networks – BIG-IP application delivery networking devices
- Spirent Communications – Spirent TestCenter telecom/networking device test platform
- JVC – portable audio player and other consumer electronics
- Tyco Thermal Controls – Digitrace heat-tracing system
- Northrop Grumman – embedded applications in aerospace
- Airspan Networks – base stations for mobile broadband networking
See also 
- In Memory Data Grid - In-memory distributed data management
- Embedded databases
- In-memory databases
- NoSQL - Alternative scale-out databases
- Cold, hard data that’s deep, eeProductCenter (EE Times)2/28/05
- Remember the KISS principle? Forrester Research, 11/13/2009
- Re-inventing embedded database technology for embedded systems and intelligent devices. McObject white paper hosted on Scribd.com, 2009
- McObject’s New Business Looks Anything Like Embedded, Embedded Software Blog, VDC Research, 6/30/2010
- Key eXtremeDB Features, www.mcobject.com
- Gray, Jim, and Reuter, Andreas (1993), Distributed Transaction Processing: Concepts and Techniques, Morgan Kaufmann, ISBN 1-55860-190-2
- McObject updates eXtremeDB real-time database system, Dr. Dobb’s Journal, 11/9/2009
- Gerhard Weikum; Gottfried Vossen (2002). "5 Multiversion Concurrency Control". Transactional Information Systems. Morgan Kaufmann. pp. 211–213. ISBN 1-55860-508-8
- Database serves five-nines embedded systems, eWeek, 3/12/2003
- In-memory database released in clustering version, LinuxDevices.com, 7/20/2011
- McObject releases eXtremeDB Fusion embedded database, Electronic Product News, 5/3/2007
- McObject adds ODBC API to eXtremeDB, EE Times, 8/8/2007
- In-memory DBMS boosts Java, SQL, and HA abilities. LinuxDevices.com, 11/16/2011
- Kernel mode gets data faster. Embedded Computing Design, 4/3/2008
- "eXtremeDB Financial Edition homepage". Retrieved 26 December 2012.
- Examining Main Memory Databases, iApplianceWeb, 1/4/2002
- Terabyte-Plus In-Memory Database Benchmark, www.mcobject.com
- "Securities Technology Analysis Center Web site". Retrieved 26 December 2012.
- Product how-to: hybrid data management gets traction in set-top boxes, EE Times, 7/28/2008
- Tornado GR4 goes extreme, Wind River Blog Network, 9/30/2009
- Scalability, risk management, and reducing latency in financial databases, High Frequency Traders, 9/21/2011
- MyYearbook speeds Web responses, InformationWeek, 12/29/2009
- No operating system is an Island, EE Times, 12/14/2008
- 700 Linux databases squeeze onto test system, LinuxDevices.com, 6/29/2009