Persistent Data Storage

Registered by Hans Häggström

The game world should be stored persistently, so that it can be retrieved in the event of a server shutdown, move, or similar.

(There should probably also be export and import functions for different parts of the game world, but that is unrelated to the basic persistency).

I have been considering a prevalent solution, which would only rely on an in-memory data model, where transactions are written to disk before being applied to the model. This has speed and simplicity advantages over a database, but limits the maximum data model size to what fits in the memory. This might or might not be realistic (need to do some calculations again). If it seems like it's a close call, then the persistency should be designed to be easily swappable to a database based system in the future.

For the prevalent solution, the library of choice on the JVM seems to be Prevayler ( http://www.prevayler.org/ ). I committed a patch to add asynchronous writing to it ( http://sourceforge.net/mailarchive/forum.php?forum_name=prevayler-coders ), if it can be included in the next version we can use it directly (otherwise we'll have to keep a patched version in the svn).

Blueprint information

Status:
Started
Approver:
Hans Häggström
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Blocked
Milestone target:
milestone icon skycastle-0.0.5
Started by
Hans Häggström

Related branches

Sprints

Whiteboard

Working on getting the Prevayler 2.3 to the maven2 repository, and getting the asynchronous patch accepted and into 2.3.1 or such.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.