Мне дано задание написать скрипт (или, что еще лучше, демон), который должен делать несколько вещей:
- Сканирование самых последних данных из нескольких входных XML-каналов. В настоящее время есть около 15-20 каналов, но я считаю, что в будущем их число может возрасти до 50. Размер канала варьируется от 500 КБ до 5 МБ (скорее всего, он не превысит 10 МБ). Поскольку каналы не имеют стандартного формата, для каждого канала из данного источника должен быть синтаксический анализатор , чтобы данные были объединены в единый общий формат.
- Сохранение данных в базе данных таким образом, что каждая единица данных, извлеченная из каналов, все еще доступна.
- Поскольку данные меняются со временем (например, информация обновляется не реже одного раза в час), необходимо хранить архив измененных данных.
Еще одна вещь, с которой в этом случае оказалось трудно справиться (я уже взломал вместе какое-то решение), это то, что на шаге 2 база данных начинает замедляться из-за объема SQL запросы, которые вставляют данные в несколько таблиц, что влияет на остальную часть системы, которая опирается на базу данных (это выделенный сервер с несколькими размещенными сайтами). И я даже не смог добраться до шага 3 ...
Любые советы о том, как я должен подходить к этой проблеме? На что обращать внимание? Все, что поможет мне в решении этой проблемы, более чем приветствуется.
Спасибо!