C # / F # Как сжать / распаковать большую строку для хранения в виде двоичного файла в SQL Server - PullRequest
0 голосов
/ 07 января 2019

У меня есть несколько относительно больших структур F #, сделанных из примитивных типов / массивов / списков / записей / DU, но без классов. Структуры являются текучими, и поэтому создание таблиц, соответствующих им, будет очень дорогостоящим. Сериализация в / десериализация из JSON работает как по волшебству.

К сожалению, результирующие строки JSON могут достигать 25-250 МБ, поэтому я хочу сжать их перед сохранением в базе данных SQL Server. По сути, это архивная система, поэтому производительность не является проблемой, поиск не является проблемой, и использование файловой системы в качестве хранилища принесет свой беспорядок, которого я хочу избежать.

Я согласен с тем, что база данных SQL Server растет настолько, насколько это возможно. С другой стороны, сжатие на основе SQL Server в этом случае не приносит никакой пользы из-за некоторых других проблем.

Мне нужно следующее: взять строку в памяти (около 25-250 МБ JSON) -> сжать ее в двоичный формат (не формат GZipped base 64, как обсуждалось в различных ответах в Интернете!) -> магазин в столбце SQL Server varbinary(max), а затем сможете сделать это полностью назад. Я ожидал что-то вроде JsonConvert.SerializeObject / JsonConvert.DeserializeObject. К сожалению, поиск в Интернете не дал никаких однострочных результатов. Буду признателен за любой совет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...