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 directory 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 linked with any application:

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

The libraries listed below are runtime variants that can be called 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

HTTP Database Viewer [Optional]

The HTTP Viewer requires the following two libraries:

mcoews.dll HTTP server implementation
mcohv.dll HTTP Database Viewer (without SQL capability)

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 with is required for all .NET Framework applications:

extremedb4net.dll Main database functions

In addition, one of the following .NET Framework DLLs are 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