This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
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 runs on Windows, Linux, and other real-time and embedded operating systems.
Developer(s) | McObject LLC. |
---|---|
Stable release | 8.2
/ 2021 |
Operating system | Cross-platform |
Type | DBMS |
License | Commercial license |
Website | www |
History
editeXtremeDB was introduced in 2001 by McObject LLC, targeting embedded systems running in resource-constrained environments (i.e. with limited random-access memory and relatively low-powered central processing units). eXtreme DB has a small code size, only about 150KB. It has native C language application programming interface and available source code. eXtremeDB has 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.[1][2][3]
Later 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.[4]
Product features
editCore eXtremeDB engine
editeXtremeDB supports the following features across its product family.[5]
Application programming interfaces
edit- A type-safe, native, navigational C/C++ API
- SQL ODBC/JDBC API (included in eXtremeSQL edition)
- Native C# (.NET) API
- Java Native Interface (JNI)
- Python
Database indexes
edit- B-tree
- R-tree
- Radix tree or Patricia trie
- k-d tree
- Hash table
- Trigram index
- Custom indexes
Concurrency mechanisms
editeXtremeDB supports multiple concurrent users, offering ACID-compliant transactions (as defined by Jim Gray[6]) 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).[7][8]
Supported data types
editeXtremeDB can work with virtually all C language data types including complex types including structures, arrays, vectors, and BLOBs. Unicode is supported.
Security
edit- Page-level cyclic redundancy checking (CRC)
- AES encryption
- Secure Sockets Layer
Optional features
editDistributed database management abilities
editThe eXtremeDB high availability edition supports both synchronous (2-safe) and asynchronous (1-safe) database replication, with automatic failover.[9] 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 CPU cores.[10] eXtremeDB supports heterogeneous client platforms (e.g. a mix of Windows, Linux, and RTOSs) with its clustering and high availability features. A single partitioned database can include shards running on hardware and OS platforms.
Hybrid storage
editThe eXtremeDB Fusion edition provides the option of persistent storage (disk or flash) for specific tables, via a database schema notation.[11]
Transaction logging
editThe eXtremeDB Transaction Logging edition records changes made to the database and uses this log to recover 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
editThe eXtremeSQL edition provides SQL ODBC support in eXtremeDB and a version 4, level 4 JDBC driver.[12][13]
Kernel mode deployment
editThe eXtremeDB Kernel Mode edition deploys the database system within an operating system kernel, to provide database functions to kernel-based applications logic.[14]
Features for managing market data
editThe eXtremeDB Financial Edition provides features for managing market data (tick data).[15] 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
editMcObject 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.[16] 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.[17]
In November, 2012 a marketing report was published for Dell servers with Mellanox InfiniBand.[18]
In late 2014, two more audited benchmark reports were dedicated to eXtremeDB Financial Edition. The first, dated October 29, evaluated McObject's DBMS performance on IBM POWER8 hardware, while the second, on November 18, detailed its application in cloud computing. In 2016, an additional report was conducted to gauge the capabilities of the eXtremeDB Financial Edition.[19]
See also
editReferences
edit- ^ Cold, hard data that’s deep, eeProductCenter (EE Times)2/28/05
- ^ "Remember the KISS principle? | Forrester Blogs". Archived from the original on 2013-10-29. Retrieved 2012-01-26.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) 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, http://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". Archived from the original on 2012-09-03. Retrieved 2012-01-26., LinuxDevices.com, 7/20/2011
- ^ McObject releases eXtremeDB Fusion embedded database, Electronic Product News, 5/3/2007 Archived 2013-01-22 at archive.today
- ^ McObject adds ODBC API to eXtremeDB, EE Times, 8/8/2007[dead link]
- ^ "In-memory DBMS boosts Java". Archived from the original on 2012-09-09. Retrieved 2012-01-26., SQL, and HA abilities. LinuxDevices.com, 11/16/2011[dead link]
- ^ Kernel mode gets data faster. Embedded Computing Design, 4/3/2008[dead link]
- ^ "eXtremeDB Financial Edition homepage". Retrieved 26 December 2012.
- ^ Examining Main Memory Databases Archived 2012-03-10 at the Wayback Machine, iApplianceWeb, 1/4/2002
- ^ Terabyte-Plus In-Memory Database Benchmark, http://www.mcobject.com
- ^ "Securities Technology Analysis Center Web site". Archived from the original on 3 February 2013. Retrieved 26 December 2012.
- ^ "STAC Report: eXtremeDB & IBM at scale under STAC-M3". STAC web site. May 9, 2016. Retrieved March 17, 2017.
External links
edit- Official website , McObject