Храните JSON Blobs в MySQL или S3
Я собираюсь хранить некоторые данные спецификации в виде строк JSON (рост, вес и т. Д.) - по одной на каждый продукт. Доступ к данным будет осуществляться очень редко (сначала один раз, а затем снова, только если я изменю алгоритм и мне потребуется обновить сводные показатели). Я планирую сохранить ссылку на расположение строки JSON в базе данных MySQL вместе с остальными данными о продукте.
Каждый блоб имеет размер около 6 КБ, и, если я собираюсь сохранить 10 млн. Из них, мои тесты показывают, что размер таблицы MySQL с этими 10-метровыми строками будет ~70 ГБ (включая столбец идентификатора с индексом). Хранение их в S3 будет работать немного дешевле, но в обоих случаях оно низкое.
Есть ли какой-либо недостаток для их размещения в MySQL. Повлияет ли одна очень большая таблица на производительность остальной части сервера?
1 ответ
Я советую тебе
- Сжатие их: это идеальный сценарий для обмена пространством хранения с циклами декомпрессии ЦП. JSON обычно очень сжимаем, скажем, 2:1 как минимум, увеличиваясь до 10:1
- Храните их непосредственно в отдельной таблице MyISAM: таким образом, гарантированно не будет мешать другим вашим таблицам