evolvedbinary/fusiondb-server

Version the key/value layouts of each column family

Opened this issue · 0 comments

At the moment we serialize/deserialize data into each column family according to one or more fixed layouts.

For future proofing, we should store the version of the layout. At startup we should check the versions. We could also provide functions for each layout to move from version n to version n+1, which would enable a seamless migration at startup.

Another option might be to investigate using a serialization/deserialization format which might allow backwards compatibility e.g. Protobuf, Cap'n Proto, etc.