jabox/jabox — Issue #12: Migrate from H2 database to XStream file-system
Author: spiddy
Created: 2011-10-31 11:42:26+00:00
State: open

Database is creating a lot of stability issues. Upgrading database schema is a pain, even worse when plugins are involved.

Opted for a file-system format (currently XML, but possibly JSON in the future). This is inspired by the Jenkins XML format.

The advantages are the following:

* Smooth upgrade possibility
* Import/Export possibility
* Stabilize startup/shutdown process (no more stale databases)
* Remove database layers (H2, c3p0, Hibernate)

Possible disadvantages:

* Not very cloud-friendly as it uses file-system.
* Cannot scale to distributed Servers easily as it uses file-system.

These problems can be solved in the future by adding an abstraction layer for the file-system (e.g. use database to serialize objects instead)