eXtremeDB Windows Dynamic Link Libraries - target\bin.so

As explained in the eXtremeDB Windows Libraries page, the \target\bin.so directory under your eXtremeDB installation root contains a number of Dynamic Link Libraries (DLLs) that can be loaded into C/C++, Python, Java, and .NET Framework applications at run time. As mentioned in the static libraries page, each library is provided in two forms: debug and release mode. The Dynamic Link Libraries are described below (only release mode filenames are shown). (Please refer to the following link for descriptions of additional libraries to support extension module features.)

Core Libraries

To link dynamically, the following two libraries are mandatory; they must be loaded by any application:

mcoplatform.dll
Contains the system independence layer and low-level primitives.
mcoloader.dll
Contains a loader for the eXtremeDB core. It selects the proper runtime variant and loads it dynamically.

The libraries listed below are runtime variants that can be loaded in one of the following ways:

The runtime variant libraries are:

mcocore_mursiw.dll
The MURSIW transaction manager for conventional memory databases.
mcocore_mursiw_shm.dll
The MURSIW transaction manager for shared memory databases.
mcocore_disk_mursiw.dll
The MURSIW transaction manager for persistent databases using conventional memory for metadata.
mcocore_disk_mursiw_shm.dll
The MURSIW transaction manager for persistent databases using shared memory for metadata.
mcocore_mvcc.dll
The MVCC transaction manager for conventional memory databases.
mcocore_mvcc_shm.dll
The MVCC transaction manager for shared memory databases.
mcocore_disk_mvcc.dll
The MVCC transaction manager for persistent databases using conventional memory for metadata.
mcocore_disk_mvcc_shm.dll
The MVCC transaction manager for persistent databases using shared memory for metadata.

Optional Libraries

In addition to the variant libraries listed above, the following libraries can be dynamically loaded using mco_core_load() to support optional features:

Sequence Data Type Support [Optional]

These libraries provide basic sequence data type operations such as reading and inserting sequence data. All applications that use the sequence data type must load one of the following libraries:

mcoseq.dll
Sequence data type API support.
mcoseqrle.dll
Sequence data type with RLE compression API support.

Analytics Function Library Support [Optional]

If, in addition to basic sequence operations, mathematics and statistical functions that operate on sequences are required, applications must load one of the following libraries:

mcoseqmath.dll
Mathematical and statistical functions operating on sequences.
mcoseqrlemath.dll
Mathematical and statistical functions operating on sequences with RLE compression.

Active Replication Fabric Support [Optional]

eXtremeDB Active Replication Fabric packages provide the following libraries. All applications that use ARF (IoT) APIs must load both:

mcoiotcomm.dll
IoT communication library.
mcoiotrepl.dll
IoT replication.

Transaction Logging APIs [Optional]

The eXtremeDB Transaction Logging APIs are implemented in the following library. All applications that use the Transaction Logging API must load:

mcolog.dll
Transaction Logging API.

Backup [Optional]

The following library is provided for applications using the incremental backup feature to backup and restore databases on persistent media:

mcobackup.dll
Incremental backup and restore for in-memory and persistent databases.

Serialization [Optional]

The following library is provided for applications using the save / load features to store and retrieve database or class snapshots on persistent media. (Note that this functionality does not require file system wrappers. The save / load features use an abstract stream (implemented by the application) to transfer data to the operating system.)

Serialization capability is implemented in the following library:

mcoseri.dll
Serialization (save and load) for all-in-memory databases.

Uniform Data Access (UDA) [Optional]

For applications that use the Uniform Data Access functions, the following library is required:

mcouda.dll
Required if UDA APIs are used.

Cryptography [Optional]

The Database Encryption feature is integrated into mcoplatform.dll (mcoplatform_debug.dll) currently.

Extension Module Libraries

In addition to the optional features libraries listed above, there are dynamic libraries for the eXtremeDB extension modules described in page Extension Module Windows Dynamic Link Libraries.

Python Subdirectory

eXtremeDB also provides additional disk manager DLLs for Python in the \target\bin\python directory. It contains the following Python Dynamic Load libraries:

eXtremeDB_disk_mursiw.pyd
The MURSIW transaction manager for persistent and hybrid databases using conventional memory.
eXtremeDB_disk_mursiw_shm.pyd
The MURSIW transaction manager for persistent and hybrid databases using shared memory.
eXtremeDB_disk_mvcc.pyd
The MVCC transaction manager for persistent and hybrid databases using conventional memory.
eXtremeDB_disk_mvcc_shm.pyd
The MVCC transaction manager for persistent and hybrid databases using shared memory.

Java DLLs

The following Java DLLs are loaded at runtime according to Database.Parameters settings:

extremedbjni_mursiw.dll
The MURSIW transaction manager for In-Memory database applications using conventional memory.
extremedbjni_mursiw_shm.dll
The MURSIW transaction manager for In-Memory database applications using shared memory.
extremedbjni_disk_mursiw.dll
The MURSIW transaction manager for Persistent and Hybrid database applications using conventional memory.
extremedbjni_disk_mursiw_shm.dll
The MURSIW transaction manager for Persistent and Hybrid database applications using shared memory.
extremedbjni_mvcc.dll
The MVCC transaction manager for In-Memory database applications using conventional memory.
extremedbjni_mvcc_shm.dll
The MVCC transaction manager for In-Memory database applications using shared memory.
extremedbjni_disk_mvcc.dll
The MVCC transaction manager for Persistent and Hybrid database applications using conventional memory.
extremedbjni_disk_mvcc_shm.dll
The MVCC transaction manager for Persistent and Hybrid database applications using shared memory.

.NET Framework DLLs

The .NET Framework wrapper implementing most of the eXtremeDB in-memory database functionality is contained in the following library, which is required for all .NET Framework applications:

extremedb4net.dll
Main database functions.

In addition, one of the following .NET Framework DLLs is loaded at runtime according to Database.Parameters settings:

extremedb4net_mursiw.dll
The MURSIW transaction manager for In-Memory database applications using conventional memory.
extremedb4net_mursiw_shm.dll
The MURSIW transaction manager for In-Memory database applications using shared memory.
extremedb4net_disk_mursiw.dll
The MURSIW transaction manager for Persistent and Hybrid database applications using conventional memory.
extremedb4net_disk_mursiw_shm.dll
The MURSIW transaction manager for Persistent and Hybrid database applications using shared memory.
extremedb4net_mvcc.dll
The MVCC transaction manager for In-Memory database applications using conventional memory.
extremedb4net_mvcc_shm.dll
The MVCC transaction manager for In-Memory database applications using shared memory.
extremedb4net_disk_mvcc.dll
The MVCC transaction manager for Persistent and Hybrid database applications using conventional memory.
extremedb4net_disk_mvcc_shm.dll
The MVCC transaction manager for Persistent and Hybrid database applications using shared memory.