eXtremeDB

eXtremeDB is a DBMS that supports both on-disk and in-memory databases. There are multiple editions of eXtremeDB that support time-series data, high availability, distributed databases, and SQL and NoSQL APIs.

Also available eXtremeDB/rt a COTS real-time database management system that meets the fundamental requirements of determinism and temporal consistency of data.

eXtremeDB for High Performance Computing Developed for HPC systems it comes with a library of more than 100 functions for performing statistical analysis on time series data, using pipelining. Pipelining refers to a series of data processing elements where the output of one element is the input of the next one.

eXtremeDB IoT Software Development Kit The IoT Software Development Kit has the capability to replicate data from the edge to the server, including through many tiers (edge/gateway/server). Device and server communicate flawlessly. It offers encryption of data at rest and in flight, and provides support for time series data.

History

McObject started in 2001 with the launch of the eXtremeDB In-Memory Database System.

Concurrency Control

Multi-version Concurrency Control (MVCC) Optimistic Concurrency Control (OCC) Deterministic Concurrency Control

eXtremeDB offers a multi-version concurrency control (MVCC) optimistic transaction manager and an alternative "pessimistic" MURSIW (MUltiple Reader, Single Writer) transaction manager.

Data Model

Relational

Foreign Keys

Supported

Indexes

B+Tree Hash Table R-Tree T-Tree K-D Tree Patricia/Radix Trie

eXtremeDB database offers multiple indexes, including the following:

B-Trees for common sorting and searches, insertions, and deletions R-Trees for geospatial indexing (common in GPS/navigation systems) Hash tables for quickly locating a single unique index entry Patricia trie index, which speeds searches in networking and telephony applications Trigram indexes are ideal for text searches when the exact spelling of the target object is not precisely known. It finds objects which match the maximum number of three-character strings in the entered search terms, i.e., near matches. “Custom indexes” or b-trees that allow the application to define the collating sequence of entries; this is useful in implementing soundex algorithm searches, for example KD-Trees or k-dimensional trees, for spatial and pattern-matching tasks and in applications where query predicates contain various combinations of object fields (for example, to construct Query-By-Example, or QBE features)

Storage Architecture

Disk-oriented In-Memory Hybrid

eXtremeDB enables the developer to 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.

Storage Model

Decomposition Storage Model (Columnar) N-ary Storage Model (Row/Record) Hybrid

eXtremeDB implements row-based layout for all data types other than sequences. Row and columnar layout can be combined in hybrid data designs to optimize performance managing mixed data.

Stored Procedures

Supported

Lua, Python or C++ based stored procedures run in the context of the SQL server and therefore minimizes client-server inter-process communication and attendant network overhead, and fully utilizes the multi-core nature of modern hardware.

System Architecture

Shared-Nothing Shared-Memory Embedded

eXtremeDB Logo
Website

https://www.mcobject.com/

Source Code

https://www.mcobject.com/faq-general-questions/

Tech Docs

https://www.mcobject.com/docs/

Developer

McObject LLC

Country of Origin

US

Start Year

2001

Project Type

Commercial

Written in

C, C++

Supported languages

C, C#, C++, Java, Lua, Python, Rust, SQL

Compatible With

SQL Anywhere, SQLBase, SQL/DS, SQLite, SQL Server

Operating Systems

AIX, All OS with Java VM, Android, HP-UX, iOS, Linux, QNX, Solaris, VxWorks, Windows

Licenses

Proprietary

Wikipedia

https://en.wikipedia.org/wiki/EXtremeDB