@Ayk72

Как хранить столько данных?

Добрый день!

Дали задание загрузить из 25 архивов, где в каждом по 14.000 файлов xml, данные аккаунтов ВК. Каждый xml файл весит 310кб.
При загрузке в MySQL это 80гб, а хостинг позволяет только БД в максимум 20гб.

Скажите, пожалуйста, как мне это решить?

Что если в MySQL грузить не данные профилей, а ссылку на xml файл и id? И брать данные при запросе не с MySQL, а с XML прямо. Это плохой метод? Тупить будет? Как бы поступили вы?

Спасибо!
  • Вопрос задан
  • 294 просмотра
Пригласить эксперта
Ответы на вопрос 3
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
что-то мне интуиция подсказывает, что грузится до дури всякого мусора. И что если грузить с умом, то размер уменьшится в разы.
можно пример XMLя глянуть? без ПДн, конечно.
Ответ написан
Комментировать
2ord
@2ord
Можно уменьшить размер БД
  1. путём уменьшения количества вносимых данных (прореживание), если это возможно
  2. путём подбора подходящих типов данных для колонок таблиц, занимающих меньше места: размер строки, размер целых в битах, объединением группы булевых значений в один integer при хранении в БД
  3. путём оптимизации повторяющихся данных и нормализацией БД
  4. путём сохранения в колонках сжатых данных в BLOB - обработкой алгоритмами сжатия


Можно также попробовать хранить ещё данные в MongoDB, если хостинг позволяет.
Считывать данные с XML тоже можно, но нужно каждый раз десериализацию данных - делать разбор синтаксиса XML библиотечными средствами. Зависит от предполагаемой нагрузки на сервер.
Ответ написан
Комментировать
@WarStyle
Купить ВДС нужным кл-вом дискового пространства, поставить ламп и заливать)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы