@PendalF89

Как хранить большое количество json-файлов?

Здравствуйте!
Требуется хранить на сервере примерно 60 млн json-файлов и обращаться к ним из MySQL.
В данный момент они все лежат в zip-архивах и ссылки на них лежат в базе MySQL (используется проектом).
Я упёрся в максимальное количество мелких файлов, которые может держать Ubuntu.

Суть вопроса: как лучше организовать хранение с максимальной экономией места на диске?

Варианты, которые пришли мне в голову:
  1. Храним JSON прямо в MySQL. Это удобно, но база разрастётся, будет занимать много места.
  2. Хранить JSON в MongDB, а ссылку на id хранить в MySQL. Это менее удобно, но может MongoDB сжимает файлы лучше?
  3. Хранить zip-файл прямо в MySQL. Ни разу так не делал.
  4. Хранить в zip-файле несколько JSON-файлов. Неудобно, дополнительные сложности в реализации.
  • Вопрос задан
  • 350 просмотров
Решения вопроса 2
DexterHD
@DexterHD
Software Engineer, Teamlead, CTO
Возможно лучшим решением было бы действительно хранить их в MongoDB.
Тем более что она поддерживает компрессию данных, а в довесок появляется возможность легко манипулировать ими, искать в них информацию, индексировать, обновлять и т.п.
Ответ написан
sim3x
@sim3x
KISS

Просто хранение:
Сделайте новый диск
При создании укажите количество inode на которое расчитываете
Если файлы по 500кб+, сжимайте bzip/gzip, если меньше - експериментируйте (маленькие файлы не всегда стоит сжимать)

Хранение и поиск по файлам - лучше сразу запихивать в постгрес или в монгу (если файлы не страшно потерять)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
упёрся в максимальное количество мелких файлов

Если такое случилось, то надо как-то уменьшать их количество. Запихни их какие-то пакеры/архивы/что угодно аналогичное. И при обращении к блоку, считывать нужную часть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 60 000 до 120 000 руб.
NEKTA Тольятти
от 40 000 до 70 000 руб.
BasicDecor Москва
от 90 000 до 130 000 руб.
26 июн. 2019, в 15:21
600 руб./в час
26 июн. 2019, в 15:06
50000 руб./за проект
26 июн. 2019, в 14:56
300 руб./в час