Select Page

Database Offering Multiple APIs

eXtremeDB offers multiple Application Programming Interfaces (APIs) for developer flexibility.

The eXtremeDB database system provides multiple Application Programming Interfaces (APIs), enabling developers to choose their preferred programming language and to tailor applications for desired performance.

APIs Offered


eXtremeDB’s SQL database interface is a high-performance implementation of SQL.  SQL enjoys a high level of familiarity in the industry. In addition, with its ability to express complex queries relatively succinctly, SQL can often do more in fewer lines of code. Developers in C and C++ may prefer eXtremeDB’s direct SQL API over the ODBC API (discussed below) because it is more concise and a more natural fit for C/C++ programs.

The article, Is SQL Fast Enough for Tick Data? was reprinted with permission

Is SQL Fast Enough for Tick Data?

Article by Steven Graves, McObject CEO and co-founder, reprinted with permission from TabbFORUM.

Stored Procedures in Lua, Python or C/C+

Lua is a very elegant, popular and easy-to-adopt scripting language, with extensive grammar that supports operator overloading, encapsulation, inheritance, polymorphism and more. Lua’s sophisticated and blazingly fast dynamic Just-In-Time compiler (LuaJIT) and small footprint makes it a great procedural language to develop complex database user-defined functions and stored procedures for the eXtremeSQL server. Lua-based procedures run in the context of the SQL server and therefore minimize client-server inter-process communication and attendant network overhead, and fully utilize the multi-core nature of modern hardware.


Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services and run on embedded devices.  It is syntactically similar to C++ and easily integrates with other languages.


eXtremeDB’s support for the Open Database Connectivity Standard (ODBC) greatly expands the product’s ability to share data with systems ranging from mainframes to servers to desktop applications. Based on the Call Level Interface specified by the SQL Access Group, ODBC is a library of functions that lets any ODBC-enabled application connect to any database for which an ODBC driver exists, and retrieve/insert/update/delete data using SQL statements.

McObject’s implementation of ODBC sustains eXtremeDB’s performance advantage. While applications gain access to most ODBC-compliant databases via driver and driver manager software layers, eXtremeDB also exposes the ODBC API as direct library calls. This streamlined approach eliminates the driver manager and associated program execution steps, leading to faster performance and smaller code size.

eXtremeDB 8.4 includes robust SSL encryption and driver authentication capabilities in its ODBC driver, ensureing secure communication between applications and the database, safeguarding sensitive data.

For Java, SQL is accessible via eXtremeDB’s type 3, version 4 JDBC driver. For C#, use the ODBC .NET Managed Provider. 


This interface is navigational, consisting of functions that navigate through the database programmatically, working on one record at a time. Major advantages cited for navigational APIs are determinism – it is known, when the application is compiled, exactly how the data will be traversed – and performance, by virtue of bypassing the parsing, optimization and execution of dynamic SQL.  Learn more about the eXtremeDB type-safe API

Languages Supported


eXtremeDB’s native API for C/C++ is unique in that it is type-safe. The interface functions are generated at compile-time and are specific to a particular data design; the functions “know” the type of data they are intended to handle, and any typing errors will be caught when the application is compiled. This eliminates a major cause of costly run-time bugs. To learn about the benefits of API type-safety, see the Linux Journal article, Self-Diagnostic APIs: Software Quality’s Next Frontier.

In addition, because these C/C++ functions are specific to a given data design, they are highly intuitive, reducing the development learning curve.

Developers in C/C++ can also use eXtremeDB’s Uniform Data Access (UDA) API. This is a static version of the navigational C/C++ API, consisting of a “one size fits all” function library that can be used across all database schemas. 

eXtremeDB v. 8.4 adheres to the C++ 17 standard, ensuring compatibility with modern C++ development practices.

Can also be used for stored procedures run in the context of the SQL server.

eXtremeDB’s native API makes it platform independentLearn more


eXtremeDB’s Java Native Interface (JNI) enables programmers to work with the database system entirely from within Java application code. There is no external database definition, and no requirement to compile a database schema. 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++ programs can also use the same database.


For C#, use the ODBC .NET Managed Provider.

.NET 6.0 and 7.0 Support on Linux/ARM

eXtremeDB 8.4 extends its platform support to include .NET 6.0 and 7.0 on Linux/ARM architectures, enabling developers to build cross-platform applications with ease.


Python is a programming language that is favored by many data scientists/analysts. With Python, developers can create prototypes and validate their ideas in a few lines of code while utilizing a vast set of powerful development tools and libraries. Using Python alongside the eXtremeDB database system, developers can implement their ideas quickly and optimize data intensive algorithms rapidly by testing changes to code, database tables, and multiple indexes.

Can also be used for stored procedures run in the context of the SQL server.


Developers can leverage the GO language API to seamlessly integrate eXtremeDB into their GO-based applications, opensing up exciting possibilities for building high-performance, scalable systems.

eXtremeDB DBMS offering multiple APIs, webinar covers SQL vs. navigational APIs,

Watch the Webinar, Embedded Databases: Make or Break Technology Choices for High Performance Applications

The advantages of proven, third-party database software for embedded systems are great. But the sheer volume of database technology options is huge, and choices can significantly affect results. This Webinar provides a roadmap, looking at critical distinctions such as client/server vs. in-process architecture, SQL vs. navigational APIs, and different approaches to fault-tolerance.

Learn more about the DBMS offering multiple APIs with a free trial of eXtremeDB.