{{getMsg('Help_YouAreHere')}}: {{page.title}} {{page.title}}

{{$root.getMsg("downLoadHelpAsPdf")}} {{helpModel.downloadHelpPdfDataStatus}}

Persistence

The installed application i-net PDFC heavily depends on the persistence to store vital information. This information includes eg. configuration and user settings. The persistence can be stored in one of the following locations based on the scenario i-net PDFC is used in.

The default persistence is the File System. It suffices use cases of a local server installation with a fixed hard drive. MongoDB and Redis can be used in cloud based environments where no hard drive is available or the file system can disappear together with the server instance.

The persistence should be selected depending on the usage scenario.

  • The File System persistence can be used in every (server-) environment given that the underlying hard disk is always available (eg. bare bone server, Docker with mounted directories)
  • The MongoDB persistence is a hard disk backed persistence that can handle larger chunks of data easily. It should be used in cloud environments in a scenario that requires a large amount of data being stored. This persistence allows to preserve the server configuration in environments where server can be spun up and down at will.
  • The Redis persistence is an in-memory persistence. It should be used in a scenario that does not require larger amounts of data to be stored but needs to preserve the server configuration in environments where server can be spun up and down at will.

File System

The File System persistence is the default persistence of the i-net PDFC server. There is no further configuration required. The persistence will be stored in the filesystem depending on the operating system:

  • Windows: C:/ProgramData/i-net software
  • Linux: %USER_HOME%/.i-net software
  • macOS: %USER_HOME%/.i-net software

The persistence can be moved if needed using the Maintenance Module.

Server Configuration / Preferences

The server configuration is not being stored in the File System backed persistence. Depending on which user runs the server the preferences are stored in the following places:

  • Windows: The Registry
  • Linux: %USER_HOME%/.java or /etc/.java (System Scope)
  • macOS: ~/Library/Preferences/com.inet.*.plist or /Library/Preferences/com.inet.*.plist (for System scope)

MongoDB

The MongoDB persistence has to be set up with a URI in the following form (for more details see here):

mongoldb://(<USERNAME>:<PASSWORD>@)<MONGODB SERVER>/<DATABASE>

Note: The authentication using <USERNAME>:<PASSWORD> is optional.

Note: If the given <DATABASE> does not exist, it will be created.

Note: The following versions of MongoDB are currently supported: 2.6 up to 4.0.
Have a look at https://github.com/mongodb/mongo-java-driver for additional information

Memory Usage Considerations

The following numbers will allow to get an insight on how much memory is required:

Component Memory used Comment
Configuration 50KB
Eventlog 50MB Can be reduced in the confirmation settings
User Metadata 10K per User mostly depends on the Avatar size
User Data (uploaded files) Depends on the quota

Redis

Redis is an in memory persistence store. The Redis persistence has to be set up with a URI in the following form:

redis://<REDIS SERVER>/

Note: The following versions of Redis are currently supported: 2.8.x, 3.x.x.
Have a look at https://github.com/xetorthio/jedis for additional information.

Memory Usage Considerations

The following numbers will allow to get an insight on how much memory is required:

Component Memory used Comment
Configuration 50KB
Eventlog 1MB
User Metadata 10K per User mostly depends on the Avatar size
User Data (uploaded files) Depends on the quota

Configuration of the Persistence

The persistence is the first thing to be initialised when starting the server - before the actual configuration can be set. That is why the persistence has to be set up from the outside using one of the following methods.

Properties File

A properties file can be created in the plugins/persistence/ subfolder of the installation. It has to have the name persistence.properties with a single entry line:

inet_persistence=<PERSISTENCE URI>

With <PERSISTENCE URI> being the URI specific to the persistence. (see above)

System Property

The system property has to be set when starting the i-net PDFC server, eg:

java -jar ... -Dinet_persistence=<PERSISTENCE URI>

With <PERSISTENCE URI> being the URI specific to the persistence. (see above)

Environment Variable

The server will check for an environment variable of the name inet_persistence of neither properties file or system property are given. On Unix/Linux systems the variable could be set using:

export inet_persistence=<PERSISTENCE URI>

With <PERSISTENCE URI> being the URI specific to the persistence. (see above)

Switching the persistence layer

Switching the persistence layer is not a standard task and should be considered carefully. To switch the persistence, make a full backup of i-net PDFC server using the Maintenance module and download the backup information.

You can then set up the server with the newly selected persistence store, upload the backup and restore it.

 
This application uses cookies to allow login. By continuing to use this application, you agree to the use of cookies.