Храните JSON Blobs в MySQL или S3 - PullRequest
       20

Храните JSON Blobs в MySQL или S3

1 голос
/ 17 февраля 2012

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

Каждый двоичный объект имеет размер около 6 КБ, и, предполагая, что я собираюсь хранить 10 млн. Из них, мои тесты показывают, что размер таблицы MySQL с этими 10-метровыми строками будет ~ 70 ГБ (включая столбец id с индексом). Хранение их в S3 будет работать немного дешевле, но в обоих случаях оно будет низким.

Есть ли какой-либо недостаток для помещения их в MySQL. Повлияет ли одна очень большая таблица на производительность остальной части сервера?

1 Ответ

1 голос
/ 17 февраля 2012

Рекомендую, вы

  • Сжатие. Это идеальный сценарий для обмена пространством хранения с циклами декомпрессии ЦП. JSON обычно очень сжимаемы, скажем, 2: 1 как минимум, увеличиваясь до 10: 1
  • Храните их непосредственно в отдельной таблице MyISAM: таким образом гарантируется, что они не будут мешать другим вашим таблицам
...