Database Persistence
Convergence uses the open source OrientDB database to store persistence data. Convergence uses OrientDB 3.0.X. Other versions are not supportd.
At present time there is not a great deal of documentation on the OrientDB schema. However, the overall schema structure can be gleaned from the schema installation scrips referenced below. Persistence options that configure how to connect to the database can be found documented at the path convergence.persistence
in the server configuration
The Convergence Database
Convergence stores server level information (e.g., user, roles, which domains exist, etc.) in a single database usually named convergence
. It's schema can be found on GitHub here. The most current schema will have the highest version. You can check the tag for your release and view the most recent schema file. Configuration for the Convergence schema can be found under the convergence.persistence.convergence-database
configuration key.
Domain Databases
Each domain within Convergence has its own database within OrientDB. Domain schema can be found on GitHub here. The most current schema will have the highest version number. Again, you can check the tag for your release and view the most recent schema file. Configuration for the Convergence schema can be found under the convergence.persistence.domain-databases
configuration key.
When you create a new domain, a new database with the latest schema will be provisioned. Likewise, when you delete a domain, all of its data will be deleted by deleting the database.
Proper Shutdown
It is highly recommended that you shut down OrientDB cleanly. For example, on Linux / Unix it is recommended to send a SIGTERM signal to the process rather than a SIGKILL. SIGTERM will allow OrientDB to shutdown gracefully, closing transactions and flushing data to disk before terminating. While rare, unclean shutdowns of the database can lead to unrecoverable data corruption.