Дали задание загрузить из 25 архивов, где в каждом по 14.000 файлов xml, данные аккаунтов ВК. Каждый xml файл весит 310кб.
При загрузке в MySQL это 80гб, а хостинг позволяет только БД в максимум 20гб.
Скажите, пожалуйста, как мне это решить?
Что если в MySQL грузить не данные профилей, а ссылку на xml файл и id? И брать данные при запросе не с MySQL, а с XML прямо. Это плохой метод? Тупить будет? Как бы поступили вы?
что-то мне интуиция подсказывает, что грузится до дури всякого мусора. И что если грузить с умом, то размер уменьшится в разы.
можно пример XMLя глянуть? без ПДн, конечно.
путём уменьшения количества вносимых данных (прореживание), если это возможно
путём подбора подходящих типов данных для колонок таблиц, занимающих меньше места: размер строки, размер целых в битах, объединением группы булевых значений в один integer при хранении в БД
путём оптимизации повторяющихся данных и нормализацией БД
путём сохранения в колонках сжатых данных в BLOB - обработкой алгоритмами сжатия
Можно также попробовать хранить ещё данные в MongoDB, если хостинг позволяет.
Считывать данные с XML тоже можно, но нужно каждый раз десериализацию данных - делать разбор синтаксиса XML библиотечными средствами. Зависит от предполагаемой нагрузки на сервер.