@Ayk72

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

Добрый день!

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

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

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

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


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

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

Войти через центр авторизации
Похожие вопросы