fuzzydb
fuzzydb copied to clipboard
Consider MessagePack for wire and storage format
http://wiki.msgpack.org/display/MSGPACK/Format+specification
Consider implementing scorers to be able to directly read from packed objects instead of expanding back to objects.
There are few different goals that could be achieved here:
- Make writes to transaction logs and repository storage smaller and faster
- Remove the need to have client classes available on the server (our annotations such as @Key will need to be understood and communicated to the server - perhaps CreateIndexCmd on seeing new annotations). This isn't trivial, as the server will either need the index data duplicating (which then causes a problem for adding indexes later), or it will need to have metadata about the original object to be able to look in the MessagePack buffer to find the data needed.
- Remove the dependency on having the original Java class around at all and be able to render as JSON for example (again we need to add metadata)