EXtremeDB
eXtremeDB is a high performance, low-latency, ACID-compliant embedded database management system using an in-memory database system 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 data storage, columnar layout of time series data and other specialized abilities.
History
LLC introduced eXtremeDB in 2001, targeting embedded systems running in resource-constrained environments. eXtremeDB characteristics appealing to this market include a small code size, native C language application programming interface, available source code, and a high degree of portability. 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 developed specifically for such environmentsLater editions targeted the high performance non-embedded software market, including capital markets applications 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 transaction management.
The increasingly popular term “Internet of Things”, especially since 2009, encompasses real-time embedded systems.
Product features
Core eXtremeDB engine
eXtremeDB supports the following features across its product family.Application programming interfaces
- A type-safe, native, navigational C/C++ API
- SQL ODBC/JDBC API
- Native C# API
- Java Native Interface
- Python
Database indexes
- B-tree
- R-tree
- Radix tree or Patricia trie
- k-d tree
- Hash table
- Trigram index
- Custom indexes
Concurrency mechanisms
Supported data types
eXtremeDB can work with virtually all C language data types including complex types including structures, arrays, vectors and BLOBs. Unicode is supported.Security
- Page-level cyclic redundancy checking
- RC4 encryption
- Secure Sockets Layer
Optional features
Distributed database management abilities
The eXtremeDB high availability edition supports both synchronous and asynchronous database replication, with automatic failover. eXtremeDB Cluster edition provides for shared-nothing database clustering. eXtremeDB also supports distributed query processing, in which the database is partitioned horizontally and the DBMS distributes query processing across multiple servers, CPUs and/or CPU cores. eXtremeDB supports heterogeneous client platforms with its clustering and high availability features. A single partitioned database can include shards running on a mix of hardware and OS platformsHybrid storage
eXtremeDB Fusion edition provides the option of persistent storage for specific tables, via a database schema notation.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
The eXtremeSQL edition provides SQL ODBC support in eXtremeDB and a version 4, level 4 JDBC driver.Kernel mode deployment
The eXtremeDB Kernel Mode edition deploys the database system within an operating system kernel, to provide database functions to kernel-based applications logic.Features for managing market data
eXtremeDB Financial Edition provides features for managing market 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.Benchmarks
McObject published reports on benchmark tests employing eXtremeDB. 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 Benchmark, documented IMDS scalability and performance in the size range of large enterprise application 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 a marketing report was published for Dell servers with Mellanox InfiniBand.
In late 2014, two additional audited benchmark reports focused on eXtremeDB Financial Edition. An October 29 report assessed McObject’s DBMS on IBM POWER8 hardware. A November 18 report documented the use of cloud computing.
In 2016. another report measured the eXtremeDB Financial Edition.
Applications and customers
- DirecTV – electronic program guide in digital TV set-top box
- BAE Systems – avionics in Panavia Tornado GR4 combat jet
- NSE.IT – 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