Azure CosmosDB SQL-API
The Azure CosmosDB is a product of Microsoft, available in the Azure Cloud. The connection information for the CosmosDB can be obtained, e.g. from the explorer interface.
inet_persistence="AccountEndpoint=<CosmosDB Server>;AccountKey=<Account Key>;DatabaseName=<Database Name>"
-
CosmosDB Server - Server Connection URL, including port, e.g. https://cosmos.company.com:8081/
-
Account Key - the private key required to authenticate against the server
-
Database Name - a non-standard property to indicate a database name
Note: When using the CosmosDB persistence in a docker container, please also define the environment property DEFAULT_CONFIG=System/Default
. A cloud-based persistence requires the configuration to be stored in a system scope.
Installation
Using the CosmosDB persistence requires additional components to be installed into the plugins/persistence
subfolder of the installation. There are pre-made Docker containers in case of a containerized usage.
If the respective files do not yet exist, you have to download them from the public maven repository at:
The CosmosDB driver package has to be extracted into the plugins/persistence
subfolder. The persistence main jar has to be saved into this directory without extracting it.
Note: You have to navigate and download the version matching your installation.
Note: In addition to the released version, there may be beta versions available: Persistence beta version, CosmosDB beta version package
Memory Usage Considerations
The following numbers will allow getting an insight on how much memory is required:
Component |
Memory used |
Comment |
Configuration |
50KB |
|
Event log |
unknown |
Event log is fixed to 30 days of event data |
User Metadata |
10K per User |
mostly depends on the Avatar size |
User Data (uploaded files) |
Size of compared documents x 3 (for result) |
Depends on the quota |
An Azure CosmosDB database will be created with about a dozen container subsets. The commonly used subset is files
.
i-net PDFC does not continuously use data - but rather has high peek values when uploading and downloading files and re-indexing caches. The actual data throughput very much depends on the user behaviour as well.
That is why we tend to recommend either using a serverless CosmosDB account or an automatic scaling mode rather than a fixed RU/s mode.
Additional information about Azur CosmosDB pricing can be found here: https://azure.microsoft.com/en-us/pricing/details/cosmos-db/