Сжимает ли какая-либо из основных систем баз данных, ориентированных на документы, ключи в своих документах JSON?

Я хотел бы хранить большое количество документов JSON, используя документально-ориентированную базу данных, все с очень похожей схемой (хотя и не идентичной).

Один пример документа:

{
     "firstName": "John",
     "lastName": "Smith",
     "age": 25,
}

Использует ли какая-либо из систем (CouchDB и т. Д.) Сжатие (любого рода), чтобы избежать многократного хранения строк ключей (например, "firstName")?

Моя мотивация состоит в том, чтобы минимизировать размер базы данных на диске, когда есть миллионы документов, особенно когда некоторые из повторяющихся ключей намного длиннее, чем, например, "firstName".

Спасибо за ваши мысли!

W


Изменить: Подумав об этом больше, я думаю, что спрашиваю о конкретном случае более общей системы сжатия, в которой словарь сжатия (частично?) Распределяется между несколькими сжатыми документами в хранилище документов (и, вероятно, создается поверх время). Это тогда обработало бы сжатие больше чем просто ключи JSON.

Было бы интересно сделать!

1 ответ

Я бы просто добавил документ "сопоставление клавиш", в котором вы храните ключи и их сочетания клавиш... выполнение сопоставления в бэкэнде не должно вызывать особых проблем...

{
   FirstName: 'a',
   Town: 'b'
}

{ 
  a: 'Peter',
  b: 'Zurich'
}
Другие вопросы по тегам