Store all data in one of those nocopy encodings, capnproto/msgpack? Then each language can read the same memory but with the language specific SDK