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:
- By explicitly calling
mco_core_load()
before callingmco_runtime_start()
- By implicitly calling
mco_core_load()
in the call ofmco_runtime_start_ex()
- By using a combination of the following environment variables which are detected in the call of
mco_runtime_start():
MCO_STORAGE
- Mandatory parameter; valuesIM
orMEMORY
will load theIM
runtime; otherwise the disk runtime will be loaded
MCO_TRANSMGR
- Optional parameter; valueMURSIW
will load the, otherwise the
MURSIW
transaction managerwill be loaded
MVCC
transaction manager
MCO_MEMDEV
- Optional parameter; valueSHARED
will load a shared memory device, otherwise a conventional memory device will be loaded
MCO_RUNTIME_PATH
- Overrides the eXtremeDB library search pathThe runtime variant libraries are:
mcocore_mursiw.dll The MURSIW
transaction manager for conventional memory databasesmcocore_mursiw_shm.dll The MURSIW
transaction manager for shared memory databasesmcocore_disk_mursiw_.dll The MURSIW
transaction manager for persistent databases using conventional memory for metadatamcocore_disk_mursiw_shm_.dll The MURSIW
transaction manager for persistent databases using shared memory for metadatamcocore_mvcc.dll The MVCC
transaction manager for conventional memory databasesmcocore_mvcc_shm.dll The MVCC
transaction manager for shared memory databasesmcocore_disk_mvcc_.dll The MVCC
transaction manager for persistent databases using conventional memory for metadatamcocore_disk_mvcc_shm_.dll The MVCC
transaction manager for persistent databases using shared memory for metadataOptional 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
data type operations such as reading and inserting
sequence
sequence
data. All applications that use thesequence
data type must load one of the following libraries:
mcoseq.dll Sequence
data type API supportmcoseqrle.dll Sequence
data type with RLE compression API supportAnalytics 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 compressionActive 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. Thesave
/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