один двоичный файл и желательно со сжатием на лету (шифрование не требуется). Судя по сотням результатов на crates.io изобретать велосипед не требуется. Посоветуйте, пожалуйста, куда смотреть?
Я бы начал с форматов сериализации. Почти любой, кроме JSON будет бинарный - msgpack, cbor, и т.п. Скорее тебе надо смотреть на cap'n'proto, protobuf или flatbuffers, если нужны языконезависимые. В capnproto точно есть простое сжатие, в остальных не знаю. Если достаточно языкозависимых, то может подойти bincode или abomonation. Дальше - слой хранения - куда и как записать это на диск - отдельная большая история. Скорее всего, подойдут embebbed-базы, типа rocksdb/leveldb/sled/sqlite, но в зависимости от задачи может быть и обычная БД. Компрессия тоже может поддерживаться на уровне хранения, и тогда от сериализации её можно не требовать.
Обсуждают сегодня