Пользователь делает запрос в твою СУБД и получает данные оттуда
если для каждого сайта будет свой небольшой скрипт-парсер, то их запускать последовательно или параллельно? Если параллельно, то как это делается?
scrapy. Под каждый сайт пишем скрапер. Запускаем по расписанию. Парсинг сайтов можно разнести во времени, чтоб они не забивали ресурсы. Если долбить сайты без расписания - они могут обидется и забанить
как (в общих чертах) реализовать отдачу результатов поиска пользователю по мере того, как сайты будут парситься?
никак, такое делать не стоит. Все что на момент запроса пользователя было, то он и должен получить