If you don’t need a relational database as back-end, you win enormous performance by using a BTREE key/value persistence. Java objects are marshalled to JSON, relations resolved by replacement of the internal reference JSON by keys only. Resoa offers an optional encryption and/or compression of the JSON representation before the storage transactions are performed to the backend, specify your requirements within the resoa.persistence.xml .
Currently there exist an implementation for the Oracle Berkeley DB (Java edition), if you prefer other products, simply implement the org.resoa,persistence.btree.BtreeStorage interface for a custom solution.
Berkely DB specific features
Strategy of the Berkeley BTREE persistence:
- Every domain results in one Berkeley Environment. Every type (excluding inheritance) results in a Berkeley database within the environment.
- Use the databaseRootDirectory property of the gateway configuration for setting up the root storage location. The environment path is defined by the root path plus the Resoa service domain name.
- You can specify a service doamin specific AES seed for BTREE value encryption within resoa.persistence.xml.
- Berkeley DB offers an internal backup solution, the strategy for backups is defined in the resoa.persistence.xml as well, check the resoa.persistence.model.xsd for further information.