DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

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 NonSQL APIs.[07][08]

eXtremeDB/rt is a commercial deterministic realtime database management system that provides temporal consistency of data. eXtremeDB/rt works together with the RTOS to ensure that tasks complete within their CPU budgets and transaction deadlines.

eXtremeDB for High Performance Computing was developed for HPC systems and comes with a library for performing statistical analysis of time series data. Combine row-based and column-based layouts, in order to best leverage the CPU cache speed, and a pipelining technique where the output of one element is the input of the next.

Database Entry

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 NonSQL APIs.

eXtremeDB/rt is a commercial deterministic realtime database management system that provides temporal consistency of data. eXtremeDB/rt works together with the RTOS to ensure that tasks complete within their CPU budgets and transaction deadlines.

eXtremeDB for High Performance Computing was developed for HPC systems and comes with a library for performing statistical analysis of time series data. Combine row-based and column-based layouts, in order to best leverage the CPU cache speed, and a pipelining technique where the output of one element is the input of the next.[07][08]

History[09]


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

Checkpoints


Compression[10]


eXtremeDB offers Zip-like compression for tables (horizontal storage), and Run-length Encoding for time series (vertical storage).

Concurrency Control[11][12]


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

Coordination


Data Model[13][14][15]


Fault Tolerance


Foreign Keys


Indexes[16]


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)
  • Approximate Nearest Neighbor (ANN). The native ANN indexes enable high speed similarity searches on high dimensional data directly inside the database engine. The HNSW index is a multi-layered graph-based data structure specifically designed for efficient approximate nearest neighbor search in high-dimensional spaces Vamana index shares conceptual similarities with HNSW, as both utilize graph-based structures for navigation in vector space. However, unlike the multi-layered hierarchy of HNSW, Vamana constructs a single-layer graph (typically based on a directed neighborhood graph, such as NGT or variations of k-NN graphs).

Isolation Levels


Joins


Logging


Parallel Execution


eXtremeDB databases are partitioned horizontally (“sharded”), with each partition/shard managed by an instance of the DBMS server. Shards are typically distributed on a storage array (which may be a SAN) – with each server keeping a CPU core busy – or distributed across different physical servers with their own storage systems. Distributed query processing across multiple servers, CPUs and/or CPU cores accelerates performance. The difference can be dramatic in some cases, with parallel execution of database operations and by harnessing the combined processing power, memory and I/O bandwidth of many nodes rather than just one.

Query Compilation


As well as Prepared Statements

Query Interface


Storage Architecture[17]


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[18]


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

Storage Organization


Stored Procedures[19]


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


User-Defined Functions


Also allows C/C++ and Lua

Views


Citations

19 sources
  1. eXtremeDB Database Management System for Professional Developers - McObject LLC mcobject.com
  2. eXtremeDB Embedded database management system FAQs - McObject LLC mcobject.com
  3. eXtremeDB Product Family mcobject.com
  4. Steve Graves' Blog Posts about Database Management Systems - McObject LLC mcobject.com
  5. eXtremeDB - Wikipedia wikipedia.org
  6. https://twitter.com/LowLatencyDB twitter.com
  7. https://www.mcobject.com/extremedbfamily mcobject.com
  8. https://www.mcobject.com/faq-general-questions mcobject.com
  9. https://www.mcobject.com/about-mcobject mcobject.com
  10. https://www.mcobject.com/features-for-a-faster-database-management-system mcobject.com
  11. https://www.mcobject.com/mvcc mcobject.com
  12. https://www.mcobject.com/real-time-database-optimized-for-ram-flash-storage mcobject.com
  13. https://www.mcobject.com/extremedb-for-hpc-technical-questions mcobject.com Dead — Check Archive
  14. https://www.mcobject.com/cluster mcobject.com Dead — Check Archive
  15. Database Models mcobject.com
  16. Multiple Database Indexes for Better Performance - McObject LLC mcobject.com Dead — Check Archive
  17. https://www.mcobject.com/hybrid-database mcobject.com Dead — Check Archive
  18. https://www.mcobject.com/columnar-data-layout-for-time-series-analysis mcobject.com Dead — Check Archive
  19. https://www.mcobject.com/extremedb-key-features-for-cloud-analytics-financial mcobject.com Dead — Check Archive
Revision #31