eXtremeDB Technical Specifications

In addition to the supported host, target and hardware platforms listed on the Supported Platforms page, the following sections describe some technical specifications and features of eXtremeDB and eXtremeSQL.

Database Limits

Following are the default maximum parameters for eXtremeDB databases on 32-bit and 64-bit architectures (these may be modified in source code and/or provided as pre-built binary libraries by McObject Support):

Limit 32-bit 64-bit
Maximum objects per database 2^32 = 4,294,967,295 2^64 = 18,446,744,073,709,551,616
Maximum classes per database 65,535 65,535
Maximum fields or vectors per class 65,535 65,535
Maximum fields per index 65,535 65,535
Maximum elements per vector 65,535 65,535
Memory requirements As little as 200K As little as 200K
Maximum databases open simultaneously 32 32
Maximum simultaneous connections per database 100 100


Programming Interfaces

C and C++

A C library of standard database functions (e.g. cursor functions) provides an interface common to all eXtremeDB applications. And an application-specific native C and/or C++ API is generated when a database schema is compiled. Because it is based on the developer’s data design, this interface is intuitive and optimized for a project’s exact needs.

Python, Java and .NET Framework

Native language interfaces are provided for Python, Java and C#.


In addition, eXtremeSQL provides embedded SQL, JDBC, ODBC and LINQ interfaces, and the ability to write user-defined functions ("stored procedures") in Lua.


Index types and queries

eXtremeDB supports virtually all data types, including structures, arrays, vectors and BLOBs and Unicode. Querying methods using native language interfaces include the following index types:

Rather than storing duplicate data, indexes contain only a reference to data, keeping memory requirements to an absolute minimum. Additionally, Voluntary indexes enable program control over population of the index.

eXtremeSQL provides the SQL create index statement which supports the above index types and the complete range of SQL query techniques (with additional support for the sequence data type) through the select statement.

Supported Data Types

eXtremeDB supports the following data types:


Debugging eXtremeDB Applications

The eXtremeDB debug-mode run-time includes numerous traps in the database code, for detection and easy remediation of programming errors. The eXtremeDB-generated programming interface exploits the type-checking features of the compiler, with programmer mistakes generating a compile-time error.

The entire eXtremeDB database runtime implementation is available with source code, for complete control of the development environment.


Supported Development Environments

Among the most popular development tools for eXtremeDB applications are the following :