Skip to main content
Select Page

Java Native Interface (JNI) Database Management System

Use eXtremeDB for the fastest possible embedded database solution in Java.

eXtremeDB Java Native Interface (opens in a new tab) (JNI) delivers the fastest embedded database in Java

McObject provides a Java Native Interface (JNI) for eXtremeDB, for the fastest possible embedded database solution in Java. The JNI reduces development time and accelerates run-time performance in Java applications, outperforming object-relational database management systems and “pure” Java object databases, as well as object caching software in Java.

eXtremeDB is also available as a classic client/server SQL RDBMS for Java (and other languages). Learn more about eXtremeSQL

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. As a Java in-memory database system, 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.

eXtremeDB Java Native Interface

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 database entirely from within the Java programming language. There is no external database definition language, 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.

Java Class Declarations
Code from the eXtremeDB Java database

Figure 2.

With eXtremeDB JNI, class definitions use “@” to indicate a database attribute.

Code from the eXtremeDB java

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

Java databases and 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 — The Java Native Interface to eXtremeDB 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, when using the JNI, developers can leverage the other performance-enhancing features of eXtremeDB, including its core in-memory architecture, columnar layout for time series data, vector-based statistical function library, High AvailabilityClustering and more.  Hybrid eXtremeDB enables the developer to easily combine both database paradigms – using in-memory and on-disk – in a single database instance.

^

Learn more about the eXtremeDB for Big Data and Analytics

^

Learn more about the eXtremeDB for embedded systems

^

Contact a database management system expert at McObject and let’s talk about your next Java project.

eXtremeDB high availability database

 Find eXtremeDB in over 70,000,000 deployments worldwide.

McObject has been helping industry leaders optimize their data management strategy since 2001 (opens in a new tab).  See a partial list of customers.

Embedded Systems

From inception, eXtremeDB’s resilient and optimized storage capabilities uniquely qualified it to fuel database management for safety-critical and resource-constrained embedded applications.

Internet of Things

eXtremeDB’s Active Replication Fabric™ creates a data management foundation for the IoT ecosystem that seamlessly integrates edge and cloud applications’ storage and ensuring data safety all around.

Hard Real-time Systems

eXtremeDB/rt is the first and only deterministic embedded DBMS for mission- and safety-critical hard real-time applications. It is built to satisfy strict requirements for timely execution of avionics and aircraft navigation systems, driver assistance systems, critical medical equipment and similar systems’ data management.

Big Data & Analytics

Columnar and row-oriented storage, a SQL engine infused with advanced analytics, and a scalable distributed architecture deliver speed and reliability to complex data-driven applications.

Finance

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module