- EXtremeDB
Infobox_Software
name = "e"X"treme"DB
caption =
developer = McObject
latest_release_version = 3.1
latest_release_date =April 2 ,2008
operating_system =Cross-platform
genre =DBMS
license = Commercial license
website = http://www.mcobject.com"e"X"treme"DB is an
ACID -compliant embeddeddatabase management system (DBMS) designed forembedded systems and applications with real-time performance requirements. "e"X"treme"DB is anin-memory database (also known as a main memory database, or MMDB), a type of database system that eliminates disk access by storing data in main memory and sending changes to the system’shard disk (if there is one) only when specified by the application. In contrast, traditional ‘on-disk’ DBMSs, which comprise the great majority of database systems,cache frequently requested data in memory for faster access, but automatically write data updates, insertions, and deletes through to the hard disk.Uses
"e"X"treme"DB is integrated within the
embedded software in hardware devices includingconsumer electronics (such asset-top boxes ,MP3 players andmobile phone handsets); networkrouters , load balancing, and security appliances; telecommunications/networking (includingswitches ,routers , BSS/OSS, session border controllers,WiMAX base stations, test equipment and many other applications); on-board automotive systems includingvehicle telematics ; military and aerospace applications; andindustrial automation . "e"X"treme"DB is also used in non-embedded applications that are inherently real-time, such as securities trading systems.Product features
In-memory data storage
"e"X"treme"DB provides direct access to data, which is stored entirely in memory. This eliminates disk reads and writes from the data management process, and removes the need for complex software logic such as database caching functions. With this simplified design, "e"X"treme"DB provides a code “footprint” as small as 50K, and typical database read and write accesses at the level of a few microseconds, or less.
Transactions
For data integrity, "e"X"treme"DB transactions support the ACID properties, ensuring that operations grouped into transactions will complete together or the database will be rolled back to a pre-transaction state.
APIs
Native API
"e"X"treme"DB's native
application programming interface (API) includes a standard function library for basic database operations, as well as data manipulation functions that are generated when the database scheme is compiled, and which derives from the application’sdata model . Database functions therefore reflect the purpose and schema for which the database is being used. The native API istype-safe – the developer's C/C++ compiler will catch data typing and assignment errors when the application is built.QL
"e"X"treme"DB offers a SQL API, called "e"X"treme"SQL, which implements much of the ANSI SQL-89 specification. "e"X"treme"SQL includes "e"X"treme"DB-specific extensions including support for
structures ,arrays and vectors, as well as query optimizations based on specific "e"X"treme"DB capabilities.XML
"e"X"treme"DB provides
XML Extensions to facilitate simple schema evolution and the exchange of data between the "e"X"treme"DB embedded database and external systems.Developer tools
Typical "e"X"treme"DB users are software developers creating applications in the C and C++ languages, who embed "e"X"treme"DB’s data management functions in their application code, with the goal of maximum run-time efficiency. "e"X"treme"DB features for coding in these languages include:
* Support for virtually all data types, including structures, arrays, vectors and binary large objects (BLOBs)
* Querying methods include hash indexes for exact match searches
* Tree indexes that support queries for pattern match, range retrieval and sorting
* “Voluntary” indexes for program control over index population
*
Object identifier references provide direct data access* Autoid for system-defined object identifiers
* Indexes that contain only a reference to data, rather than storing duplicate data, in order to minimize memory requirements
* Synchronous/asynchronous event notifications
* Object history
High Availability
For software applications that require
high availability , "e"X"treme"DB High Availability (HA) Edition is designed to ensure that changes to a master database and identical standby databases succeed or fail together, and enables deployment of multiple fully synchronized "e"X"treme"DB-HA databases within the same hardware device or across multiple, widely distributed systems. A predictable response time is created via the HA protocol's “time cognizance” – if a master or replica database fails to respond within a pre-set limit, it is automatically decommissioned and replaced in its role by a responding "e"X"treme"DB-HA database instance.Transaction Logging
The "e"X"treme"DB Transaction Logging Edition provides additional recovery capabilities. When transaction logging is active and enabled, all updates to data objects are logged to a set of files on disk, or on a network device. If the memory content is damaged or destroyed, the exact state of the database is restored by an automatic roll forward procedure.
64-Bit Database
"e"X"treme"DB-64 increases maximum database size by adding support for
64-bit micro-processors andoperating systems . Compared to traditional 32-bit processors, 64-bit technology approximately doubles the amount of data a CPU can handle per clock cycle, and increases the amount of memory a system can address from approximately 3GB to more than one terabyte (1000GB).Hybrid Storage ("e"X"treme"DB Fusion)
"e"X"treme"DB Fusion is marketed by McObject as a "hybrid" embedded database system, in that it provides both in-memory and on-disk data storage in a single database instance. A notation in the
database schema causes specified records to be managed entirely in main memory, while others are saved to disk. "e"X"treme"DB Fusion's on-disk data management process uses database caching to keep frequently requested records in memory (while flushing updates through to permanent storage), while records specified as in-memory are accessed directly, eliminating mechanical disk I/O, multiple data copies, and (now redundant) caching processes.Benefits of this hybrid approach cited by McObject include performance gains when sorting, storing and retrieving specified data entirely in memory, rather than going to disk; cost, because a less expensive hard disk can be substituted for more expensive RAM as a data storage medium; persistence; and form factor, because RAM chips can’t yet approach the density of an 80GB micro-drive.
Kernel Mode ("e"X"treme"DB Kernel Mode)
In 2008, McObject released "e"X"treme"DB Kernel Mode (KM), an embedded database system designed for deployment in the
operating system kernel . The company described "e"X"treme"DB-KM's intended use as providing local data management for application logic that is deployed inkernel mode , in order to eliminating the context switches (and their performance penalty) that occur when a kernel mode process interacts withuser mode software (in this case, a database system running in user mode). In aDr. Dobb's Journal feature [http://www.ddj.com/database/207401567 article] about the new database technology, McObject CTO Andrei Gorine named security applications (such as access control systems andfirewalls ) and operating-system monitors as applications that commonly place functions in the operating-system kernel and would benefit from a kernel mode database.upported Platforms
"e"X"treme"DB is highly portable and source code is available. "e"X"treme"DB can also run in the absence of an operating system. Platforms supported by McObject include:
*VxWorks
*QNX Neutrino RTOS
*Linux and Real-Time Linux distributions (MontaVista ,Wind River Systems , BlueCat, etc.)
*LynxOS
* Nucleus
* INTEGRITY
* Microsoft Windows Embedded
*eCos
* RTXC Quadros RTOS
* RTX Real-Time Extension for Windows
*HP-UX
* Sun Solaris
* Bare bones boards (no operating system required)"e"X"treme"DB-based Applications
SOMA Networks - FlexMAX™ Mobile
WiMAX System base stationDIRECTV - Electronic programming guide for set-top boxes
JVC - Alneo line of digital audio playersDalian Commodity Exchange - real-time commodities trading platformF5 Networks -- BIG-IP Internet traffic optimization devicesHydril - blowout prevention system for oil and gas drilling
Spirent Communications - TestCenter testing system for communication networks, devices and applications
Siemens – Mobile phone handsetNextPoint Networks -
session border controller Tyco Thermal Controls - DigiTrace heat tracing and control system
Academy of Electrical Power (China) - phasor measurement unit
Articles
Graves, Steve. [http://www.iapplianceweb.com/story/OEG20020104S0070.htm Examining Main Memory Databases] , "iApplianceWeb", January, 2002
Gorine, Andrei. [http://www.eetimes.com/in_focus/communications/OEG20021127S0035 Programming guide manages networked digital TV] , "EE Times", December 2, 2002
Gorine, Andrei. [http://www.mcobject.com/esesept.shtml Embedded Database Design for High Availability] , "Embedded Systems Europe", September, 2003
Gorine, Andrei. [http://www.mcobject.com/boards_solutions.shtml Building durability into data management for real-time systems] , "Boards & Solutions", September, 2004
Graves, Steve. [http://www.mcobject.com/downloadfiles/ese200501.pdf Developing Effective, Reliable Aerospace Equipment: The Data Management Challenge] , "Embedded Systems Engineering", February, 2005
Gorine, Andrei and Knizhnik, Konstantin. [http://devnet.developerpipeline.com/documents/s=9849/q=1/ddj0512m/0512m.html Memory Management & Embedded Databases] , "Dr. Dobb’s Journal", December, 2005
Graves, Steve. [http://www.esemagazine.com/index.php?option=com_content&task=view&id=85&Itemid=2 MP3 Players: the Music Database Gets Database Software] , "Embedded Systems Engineering", February 2006
Milne, Eric. [http://www.controleng.com/article/CA6547158.html Keeping A Lid On Blowouts] , "Control Engineering", April, 2008
Gorine, Andrei and Krivolapov, Alexander. [http://www.ddj.com/database/207401567 Kernel Mode Databases] , "Dr. Dobb's Journal", May, 2008
Knizhnik, Konstantin. [http://www.ddj.com/architect/208800854 Patricia Tries: A Better Index For Prefix Searches] , "Dr. Dobb's Journal", June, 2008
Graves, Steve. [http://www.embedded.com/columns/technicalinsights/209601833?_requestid=12441 Hybrid Data Management Gets Traction In Set-Top Boxes] , "Embedded.com", July, 2008
External links
* [http://www.mcobject.com/extremedbfamily.shtml "e"X"tremeDB" product family page]
Wikimedia Foundation. 2010.