Создание веб-приложения (в моем случае Django, но я думаю, что вопрос более общий), которое администрирует кластер работников, выполняющих задания в очереди, необходимо отслеживать ход выполнения каждого задания.
Когда я сделал это с использованием базы данных UPDATE (в данном случае PostgreSQL), это сильно повлияло на производительность базы данных, потому что каждый UPDATE создает новую строку в таблице, а в моем случае только очистка БД удаляет устаревшие строки. Выполнение 30 заданий и создание отчетов о ходе выполнения каждые 1 минуту БД может потребовать очистки (а это означает огромные замедления на стороне интерфейса для всех сотрудников, работающих с системой) каждые 10 дней.
Потому что информация о прогрессе не критична, т.е. оно не должно быть постоянным, как вы будете выполнять обновления выполнения заданий без использования дополнительной базы данных? Существует 30 рабочих серверов, каждый из которых выполняет 1 или 2 задания одновременно, 1 интерфейсный сервер, который обслуживает веб-приложение для пользователей, и 1 сервер базы данных.