Я отправил некоторый код для более эффективного хранения JSON (массивов) более эффективно на Code Review, но он начал привлекать ответы типа StackOverflow, поэтому я подумал, что буду публиковать здесь, чтобы обсудить цель, а не код.Condense JSON для эффективности использования полосы пропускания
JSON быстро становится стандартом форматирования для быстрой, удобной и надежной связи машин с машинами. Он гибкий и широко поддерживается, но имеет некоторые недостатки, когда дело доходит до данных, таких как базы данных. JSON полезной нагрузки из таблицы базы данных с именем фруктов может выглядеть следующим образом:
[{"id":1,"abbreviation":"appl","name":"Apple"},
{"id":2,"abbreviation":"pear","name":"Pear"},
{"id":3,"abbreviation":"bana","name":"Banana"},
{"id":4,"abbreviation":"bkby","name":"Blackberry"},
{"id":5,"abbreviation":"strw","name":"Stawberry"},
{"id":5,"abbreviation":"pech","name":"Peach"},
{"id":6,"abbreviation":"plum","name":"Plum"}]
Большинство данных в этой полезной нагрузки повторяется из ключей массива. Это очень неэффективно и сложно с точки зрения пропускной способности. Я придумал способ сжать JSON путем удаления ключей и положить их на первой строке массива, как это:
C[["id","abbreviation","name"],
[1,"appl","Apple"],
[2,"pear","Pear"],
[3,"bana","Banana"],
[4,"bkby","Blackberry"],
[5,"strw","Stawberry"],
[5,"pech","Peach"],
[6,"plum","Plum"]]
Я знаю, что GZIP, как правило, используется для уменьшения пропускной способности, необходимой для но я понял, почему не обойтись? Gzip не имеет потерь, он может сжимать столько, сколько нужно, чтобы восстановить все, что было в точности. Лучшая эффективность хранения в сочетании с gzip дает наилучшие результаты.
Мой вопрос - вот за что и против этого предложения. Было высказано предположение, что накладные расходы на обработку этого не стоят. Я обсуждаю, что в наши дни пропускная способность намного дороже, чем вычислительная мощность. Я ошибаюсь? Я что-то упускаю? Если вы можете сократить свою полезную нагрузку более чем на половину, разве это не стоит?
Похоже, что вы - какой-то тип системы Linux. Если это так, у них есть zip для Linux, и zip имеет несколько режимов сжатия, если вы хотите туда попасть. [Zip для Linux] (http://www.linuxfromscratch.org/blfs/view/svn/general/zip.html). [7 zip также имеет] (http://www.7-zip.org/download.html) очень хорошую степень сжатия. И у них есть источник и двоичные файлы для Linux. – Bulrush