In-memory database revs up
Dec 9, 2008 — by Eric Brown — from the LinuxDevices Archive — viewsMcObject is shipping a new release of its flagship Linux-ready in-memory database for real-time applications, including high-availability applications. ExtremeDB 4.0 beta enhances multi-user performance, adds a second native application programming interface (API), and adds support for the KD-Tree database index, used for pattern matching, says the company.
The ExtremeDB maintains a code footprint as small as 50KB, enabling it to run in memory for most embedded applications, thereby improving performance compared to disk-based operation, says McObject. The Linux-compatible software is said to support transactions, concurrent access, and a high-level data definition language. McObject also offers a high-availability version that supports local or distributed replication, with automatic fail-over, and earlier this year it shipped an ExtremeDB version that runs in kernel mode.
ExtremeDB architecture
Version 4.0's major new feature is the addition of multi-version concurrency control (MVCC), which is touted for its ability to improve scalability and performance in high-volume, real-time applications such as telecommunications, networking, and securities trading. MVCC allows separate tasks to update the database simultaneously by providing each updating task with a "snapshot" copy of the objects, says McObject. MVCC then prioritizes the tasks's updates via timestamps placed on each copy.
ExtremeDB's new k-dimensional feature enables the creation of KD-Tree indexes, which offer a structure for storing and manipulating point objects in a k-dimensional space via partitioning, says the company. The feature is said to be particularly useful for spatial- and pattern-matching applications in computer graphics, geographical information systems (GIS), and biometrics. KD-Trees is also said to improve programming efficiency, as well as support Query-By-Example (QBE) functionality.
The new Uniform Data Access (UDA) API leverages the UDA concepts of uniformity of control across numerous target data sources, in order to streamline the development process, claims McObject. Previously, ExtremeDB programmers were limited to a dynamically generated project-specific API, but with the UDA API, a static library of database functions remains consistent across projects. Like the project-specific API, which continues to be supported, the UDA API is said to be native, in that it works directly with C/C++, and it is also navigational, working through the database one record at a time.
Additionally, ExtremeDB can optionally be built with a choice of two SQL APIs.
Stated Steve Graves, McObject CEO and co-founder, “New features such as KD-Trees improve eXtremeDB's ability to model real-world data structures; others, like the UDA API, support certain users' preferred coding style. MVCC works its magic behind the scenes, to enhance database performance in any multi-user application.”
Availability
ExtremeDB 4.0 beta is available now at an undisclosed price, with a general release scheduled for Q1 2009. More information may be found here.
McObjects's Graves recently co-wrote a case study article on using ExtremeDB with F5 Networks's “BIG-IP” application networking appliance, which runs Linux alongside its own TMOS (Traffic Management Operating System). The Embedded.com article should be here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.