Есть удаленный сервер на котором хранится некая БД (порядка 800000 записей, но постоянно обновляется), выгрузка осуществляется через API, которое возвращает XML. Выгрузка может быть как полной, так и инкрементной. задача выгрузить данные, провести пару проверок и выдать результат в виде текстового файла. Собственно эту часть сделал и оно работает, но захотелось сделать «покрасивше» и добавить локальную БД в которой можно производить поиск по полям и простенькую аналитику (сколько записей добавилось/удалилось после инкрементного обновления, статистику по значению полей и пр.)
Все пишу на python3 т.к. не программист, а больше некому.
Попробовал mongodb, превести xml к json не составило проблем, но запросы mongo не понравились и мне проще с реляционными таблицами работать (структура xml позволяет разбить на несколько таблиц). Дописал скрипт для разбора и импорта в mongo, запустил полную выгрузку и за несколько минут все попало в БД.
Попробовал mysql, сделал таблицы, сделал скрипт импорта, на небольшом куске данных все ок, запустил полную выгрузку...прождал 2 часа и понял что че-то долго, попробовал другим путем (сначала сформировать sql файл (итоговое число записей из api увеличиваются в 2-3 раза т.к. есть условно «метадата» в одной таблице и записи привязанные к этой метадате в других таблицах) потом грузануть его в БД), аналогично долго...
И вот сижу думаю, это моих навыков программирования не хватает чтобы выгрузка происходила быстро (хотя-бы за 20 минут, мне-же потом из этой БД формировать текстовый файл по изначальной задаче что тоже время займет) или Mysql тормозит и стоит попробовать postgre например или продолжать копать mongo?