BTREE persistence

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.