Top Downloads News Highlights

With NVDIMMs as storage, in-memory databases gain durability without adding latency. Read the press release.

McObject, Green Hills Software alliance drives embedded systems innovation. More...

McObject positioned in Gartner's Operational DBMS Magic Quadrant. Get details.

Compass-EOS integrates eXtremeDB High Availability DBMS in breakthrough photonics-based core router. Learn more.


Printable Version

eXtremeDB Java Native Interface (JNI) delivers the fastest embedded database in Java

Download the eXtremeDB JNI data sheet (PDF)

Read an in-depth technical article about eXtremeDB JNI at Javalobby.com.

McObject provides a Java Native Interface (JNI) for the eXtremeDB embedded database, offering the fastest possible DBMS solution in Java. The JNI reduces development time and accelerates run-time performance in Java embedded systems (set-top box programming guides, etc.), and in real-time enterprise applications such as finance, e-commerce, and social networks, where eXtremeDB JNI dramatically outperforms traditional object caching software.

For organizations already using Java, eXtremeDB JNI delivers the speed of compiled C/C++ for performance-intensive data sorting, storage and retrieval tasks, with the convenience of using a familiar language. eXtremeDB's breakthrough performance stems from a streamlined architecture that manages data entirely in main memory, eliminating file I/O, cache management and other overhead found in database systems that incorporate disk storage.



Figure 1. A Java application with eXtremeDB JNI benefits from native access to database functions running in compiled C.

"POJOs" and Simplified Programming


With eXtremeDB JNI, developers work with the real-time database entirely from within the Java programming language. There is no external database definition, and no requirement to compile a database schema.

Instead, the JNI uses Java's reflection capability to discover database classes and their fields that are defined in the application, via class definition syntax (see Figures 2 and 3). This streamlines coding, and the developer's experience is one of working with plain old Java objects (POJOs).

Optionally, the Java class definitions can be used to generate a schema that, in turn, can be processed by McObject’s schema compiler, so that C/C++ and Java programs can use the same database.


Figure 2.



Figure 3. eXtremeDB's Java API uses Java reflection to discover classes, their fields and other attributes at run-time.

Java Databases & Performance


What are the database options in Java when an application calls for the highest possible responsiveness?

SQL Relational DBMSs (usually w/ JDBC driver) -- RDBMSs' biggest drawback with Java is the "impedance mismatch" that occurs when going between relational structures and SQL (a set-oriented database access language), on one end, and the object-oriented Java language, on the other. The need to "map" between object and relational technologies consumes CPU cycles and hurts performance.

All-Java Databases -- Embedded object-oriented databases written in Java deliver improved performance by eliminating impedance mismatch. However, as a language that is interpreted at run-time, Java's performance can't compete with compiled C and C++, and this limitation binds all-Java databases.

eXtremeDB JNI -- eXtremeDB's Java Native Interface uses the Java language (Java class definitions) to define the database schema. Since it relies on the programming language’s own syntax, there is (by definition) no impedance mismatch. Database sorting, retrieval and storage take place in fast, compiled C code rather than Java.

Importantly, eXtremeDB JNI also offers the many performance-enhancing features of the eXtremeDB embedded database, including its core in-memory architecture, support for multiple indexes and data types, direct data access, and more.

Availability


The Java Native Interface is included in the eXtremeDB In-Memory Database System (Windows, Linux, SunOS and HP-UX download packages) and eXtremeDB Fusion (Windows, Linux, SunOS and HP-UX download packages) available from McObject’s Web site. Contact McObject to learn about availability on other platforms.