350 000 заданий * 48 раз в день
16 800 000 заданий, выполняемых в день.
Для планирования заданий вам не нужна база данных.
Базы данных предназначены для обновлений . Единственное видимое обновление - это изменение графика добавления, удаления или переназначения задания.
Cron делает это полностью масштабируемым способом с одним плоским файлом.
Чтение всего плоского файла в память, запуск заданий. Периодически проверяйте fstat, чтобы увидеть, изменился ли файл. Или, что еще лучше, дождитесь сигнала HUP и используйте его для перечитывания файла. Используйте kill -HUP
, чтобы сообщить планировщику о необходимости перечитать файл.
Неясно, для чего вы обновляете базу данных.
Если база данных используется для определения будущего графика на основе выполнения задания, то одна база данных - это идея самого папы.
Если вы используете базу данных для анализа истории заданий, у вас есть простое хранилище данных.
Запишите информацию о завершении (время начала, время окончания, состояние выхода и все такое) в простой плоский файл журнала.
Обработка файлов плоского журнала для создания таблицы фактов и обновлений измерений.
Когда у кого-то возникает желание провести какой-либо анализ, загрузите соответствующие части плоских файлов журнала в информационное хранилище, чтобы они могли выполнять запросы, подсчета, средние значения и т.
Не записывайте напрямую 17 000 000 строк в день в реляционную базу данных. Никто не хочет все эти данные. Они хотят сводки: подсчеты и средние.