target\bin.soAs explained in the eXtremeDB Windows Libraries page, the
\target\bin.sodirectory 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.dllContains the system independence layer and low-level primitives.mcoloader.dllThe libraries listed below are runtime variants that can be loaded 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; valuesIMorMEMORYwill load theIMruntime; otherwise, the disk runtime will be loaded.MCO_TRANSMGR- Optional parameter; valueMURSIWwill load theMURSIWtransaction manager, otherwise theMVCCtransaction manager will be loaded.MCO_MEMDEV- Optional parameter; valueSHAREDwill load a shared memory device, otherwise a conventional memory device will be loaded.MCO_RUNTIME_PATH- Overrides the eXtremeDB library search path.The runtime variant libraries are:
mcocore_mursiw.dllTheMURSIWtransaction manager for conventional memory databases.mcocore_mursiw_shm.dllTheMURSIWtransaction manager for shared memory databases.mcocore_disk_mursiw.dllTheMURSIWtransaction manager for persistent databases using conventional memory for metadata.mcocore_disk_mursiw_shm.dllTheMURSIWtransaction manager for persistent databases using shared memory for metadata.mcocore_mvcc.dllTheMVCCtransaction manager for conventional memory databases.mcocore_mvcc_shm.dllTheMVCCtransaction manager for shared memory databases.mcocore_disk_mvcc.dllTheMVCCtransaction manager for persistent databases using conventional memory for metadata.mcocore_disk_mvcc_shm.dllTheMVCCtransaction 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
sequencedata type operations such as reading and insertingsequencedata. All applications that use thesequencedata type must load one of the following libraries:mcoseq.dllSequencedata type API support.mcoseqrle.dllSequencedata 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.dllMathematical and statistical functions operating onsequences.mcoseqrlemath.dllMathematical and statistical functions operating onsequenceswith 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.dllIoT communication library.mcoiotrepl.dllIoT 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.dllTransaction 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.dllIncremental backup and restore for in-memory and persistent databases.Serialization [Optional]
The following library is provided for applications using the
save/loadfeatures to store and retrieve database or class snapshots on persistent media. (Note that this functionality does not require file system wrappers. Thesave/loadfeatures use an abstract stream (implemented by the application) to transfer data to the operating system.)Serialization capability is implemented in the following library:
mcoseri.dllSerialization (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.dllRequired 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\pythondirectory. It contains the following Python Dynamic Load libraries:eXtremeDB_disk_mursiw.pydThe MURSIW transaction manager for persistent and hybrid databases using conventional memory.eXtremeDB_disk_mursiw_shm.pydThe MURSIW transaction manager for persistent and hybrid databases using shared memory.eXtremeDB_disk_mvcc.pydThe MVCC transaction manager for persistent and hybrid databases using conventional memory.eXtremeDB_disk_mvcc_shm.pydThe 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.dllThe MURSIW transaction manager for In-Memory database applications using conventional memory.extremedbjni_mursiw_shm.dllThe MURSIW transaction manager for In-Memory database applications using shared memory.extremedbjni_disk_mursiw.dllThe MURSIW transaction manager for Persistent and Hybrid database applications using conventional memory.extremedbjni_disk_mursiw_shm.dllThe MURSIW transaction manager for Persistent and Hybrid database applications using shared memory.extremedbjni_mvcc.dllThe MVCC transaction manager for In-Memory database applications using conventional memory.extremedbjni_mvcc_shm.dllThe MVCC transaction manager for In-Memory database applications using shared memory.extremedbjni_disk_mvcc.dllThe MVCC transaction manager for Persistent and Hybrid database applications using conventional memory.extremedbjni_disk_mvcc_shm.dllThe 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.dllMain database functions.In addition, one of the following .NET Framework DLLs is loaded at runtime according to Database.Parameters settings:
extremedb4net_mursiw.dllThe MURSIW transaction manager for In-Memory database applications using conventional memory.extremedb4net_mursiw_shm.dllThe MURSIW transaction manager for In-Memory database applications using shared memory.extremedb4net_disk_mursiw.dllThe MURSIW transaction manager for Persistent and Hybrid database applications using conventional memory.extremedb4net_disk_mursiw_shm.dllThe MURSIW transaction manager for Persistent and Hybrid database applications using shared memory.extremedb4net_mvcc.dllThe MVCC transaction manager for In-Memory database applications using conventional memory.extremedb4net_mvcc_shm.dllThe MVCC transaction manager for In-Memory database applications using shared memory.extremedb4net_disk_mvcc.dllThe MVCC transaction manager for Persistent and Hybrid database applications using conventional memory.extremedb4net_disk_mvcc_shm.dllThe MVCC transaction manager for Persistent and Hybrid database applications using shared memory.