HOME

TheInfoList



OR:

eXtremeDB is a high performance, low-latency, ACID-compliant embedded database management system using an
in-memory database An in-memory database (IMDB, or main memory database system (MMDB) or memory resident database) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that e ...
system (IMDS) architecture and designed to be linked into C/ C++ based programs. It works on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, and other
real-time Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
and
embedded Embedded or embedding (alternatively imbedded or imbedding) may refer to: Science * Embedding, in mathematics, one instance of some mathematical object contained within another instance ** Graph embedding * Embedded generation, a distributed ge ...
operating systems.


History

McObject LLC introduced eXtremeDB in 2001, targeting
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s running in resource-constrained environments (i.e. with limited
random-access memory Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working data and machine code. A random-access memory device allows data items to be read or written in almost t ...
and relatively low-powered
central processing unit A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
s). eXtremeDB characteristics appealing to this market include a small code size (approximately 150 KB), native
C language C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities o ...
application programming interface, available source code, and a high degree of portability (to support the varied processors and
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s used in
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s). Early deployments by customers included integration in
digital TV Digital television (DTV) is the transmission of television signals using digital encoding, in contrast to the earlier analog television technology which used analog signals. At the time of its development it was considered an innovative advanc ...
set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of si ...
es, 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. Later editions targeted the high performance non-embedded software market, including capital markets applications (
algorithmic trading Algorithmic trading is a method of executing orders using automated pre-programmed trading instructions accounting for variables such as time, price, and volume. This type of trading attempts to leverage the speed and computational resources of ...
, order matching engines) and real-time caching for Web-based applications, including social networks and e-commerce.


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 In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. A ...
/
JDBC Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. ...
API (included in eXtremeSQL edition) * Native C# ( .NET) API *
Java Native Interface In software design, the Java Native Interface (JNI) is a foreign function interface programming framework that enables Java code running in a Java virtual machine (JVM) to call and be called by native applications (programs specific to a hardwa ...
(JNI) * Python


Database indexes

*
B-tree In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing for ...
*
R-tree R-trees are tree data structures used for spatial access methods, i.e., for indexing multi-dimensional information such as geographical coordinates, rectangles or polygons. The R-tree was proposed by Antonin Guttman in 1984 and has found s ...
*
Radix tree In computer science, a radix tree (also radix trie or compact prefix tree or compressed trie) is a data structure that represents a space-optimized trie (prefix tree) in which each node that is the only child is merged with its parent. The resul ...
or Patricia trie *
k-d tree In computer science, a ''k''-d tree (short for ''k-dimensional tree'') is a space-partitioning data structure for organizing points in a ''k''-dimensional space. ''k''-d trees are a useful data structure for several applications, such as sea ...
*
Hash table In computing, a hash table, also known as hash map, is a data structure that implements an associative array or dictionary. It is an abstract data type that maps keys to values. A hash table uses a hash function to compute an ''index'', ...
* Trigram index * Custom 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 Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory. Descriptio ...
(MVCC) transaction manager (''optimistic'' non-locking model).


Supported data types

eXtremeDB can work with virtually all
C language C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities o ...
data types including complex types including structures, arrays, vectors and BLOBs.
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
is supported.


Security

* Page-level cyclic redundancy checking (CRC) *
AES AES may refer to: Businesses and organizations Companies * AES Corporation, an American electricity company * AES Data, former owner of Daisy Systems Holland * AES Eletropaulo, a former Brazilian electricity company * AES Andes, formerly AES Gener ...
encryption *
Secure Sockets Layer Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in sec ...


Optional features


Distributed database management abilities

The eXtremeDB
high availability High availability (HA) is a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period. Modernization has resulted in an increased reliance on these systems. F ...
edition supports both synchronous (2-safe) and asynchronous (1-safe) database replication, with automatic
failover Failover is switching to a redundant or standby computer server, system, hardware component or network upon the failure or abnormal termination of the previously active application, server, system, hardware component, or network in a computer n ...
. 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 (e.g. a mix of
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
and RTOSs) with its clustering and high availability features. A single partitioned database can include shards running on a mix of hardware and OS platforms


Hybrid storage

eXtremeDB Fusion edition provides the option of
persistent storage In computer science, persistence refers to the characteristic of state of a system that outlives (persists more than) the process that created it. This is achieved in practice by storing the state as data in computer data storage. Programs have ...
( disk or
flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * Flash (DC Comics character), several DC Comics superheroes with super speed: ** Flash (Barry Allen) ** Flash (Jay Garrick) ** Wally West, the first Kid F ...
) for specific tables, via a
database schema The database schema is the structure of a database described in a formal language supported by the database management system (DBMS). The term " schema" refers to the organization of data as a blueprint of how the database is constructed (divid ...
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 In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. A ...
support in eXtremeDB and a version 4, level 4
JDBC Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. ...
driver.


Kernel mode deployment

The eXtremeDB Kernel Mode edition deploys the database system within an operating system
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine lea ...
, to provide database functions to kernel-based applications logic.


Features for managing market data

eXtremeDB Financial Edition provides features for managing
market data ''For market data as used in marketing, see marketing information system'' In finance, market data is price and other related data for a financial instrument reported by a trading venue such as a stock exchange. Market data allows traders ...
(tick data) in applications such as
algorithmic trading Algorithmic trading is a method of executing orders using automated pre-programmed trading instructions accounting for variables such as time, price, and volume. This type of trading attempts to leverage the speed and computational resources of ...
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 In mathematics, a time series is a series of data points indexed (or listed or graphed) in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data. E ...
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 In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
deployed on a
RAM disk Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
, 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 SUSE Linux Enterprise (often abbreviated to SLE) is a Linux-based operating system developed by SUSE. It is available in two editions, suffixed with Server (SLES) for servers and mainframes, and Desktop (SLED) for workstations and desktop compu ...
Server 9. In November, 2012 a marketing report was published for
Dell Dell is an American based technology company. It develops, sells, repairs, and supports computers and related products and services. Dell is owned by its parent company, Dell Technologies. Dell sells personal computers (PCs), servers, data ...
servers with
Mellanox Mellanox Technologies Ltd. ( he, מלאנוקס טכנולוגיות בע"מ) was an Israeli-American multinational supplier of computer networking products based on InfiniBand and Ethernet technology. Mellanox offered adapters, switches, softwa ...
InfiniBand InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also us ...
. 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 Cloud computing is the on-demand availability of computer system resources, especially data storage ( cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over m ...
. In 2016. another report measured the eXtremeDB Financial Edition.


See also

* Embedded databases *
In-memory database An in-memory database (IMDB, or main memory database system (MMDB) or memory resident database) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that e ...
s *
NoSQL A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
- another marketing term


References


External links

*{{official website, McObject Proprietary database management systems Embedded databases