The Microstream storages are not intended to be shared between different applications directly.
Loading a storage created by another application is possible but requires caution in case of different configurations.
Basically, you can load any storage if the files (type dictionary and channel files) can be accessed with read AND write permissions and you use a matching configuration.
Loading a storage with an unknown configuration is risky as it is possible to configure nearly everything, e.g. storing and loading behaviors for individual types. Loading a storage and working with the wrong configuration may cause various problems up to data lose.
Therefore, I strongly recommend loading only storages with known configurations.
The startup/loading itself will not change the stored data. If an error occurs during loading the stored data will not be affected.
But there are features that may prevent loading the storage if they are no more configured
Others are intended to take effect after loading a storage with those features added to the configuration as https://manual.docs.microstream.one/data-store/legacy-type-mapping does.
After the storage has been loaded things may become complicated.
As long as nothing gets stored the stored data are not changed, but the storage files may be changed by the housekeeping (see https://manual.docs.microstream.one/data-store/housekeeping).
Far more dangerous e.g. are custom type handlers and legacy type mappings that may be applied if objects are stored (new ones or updated)
Microstream and (SQL) Databases are quite different.
Microstream is embedded into your application it works directly within your application. The way to “connect” to Microstream is to create or load a storage. Loading will be done by Microstream as soon as you call the EmbeddedStorageManager.start() method. If storage files are found Microstream will load the stored data, otherwise it will create an empty storage.
The Microstream channels are not connections from Microstream into the user code, they are I/O channels Microstream uses internally to store and load data. The more channels you configure the more parallel I/O task will be used internally. If more then one channel is configured Microstream will try to distribute the stored entity evenly across those channels. Therefore it is not possible to change the channel count or even read from a subset of those channels.