← All posts tagged производительность

Пишу я тут вебсервис. он работает с базой данных. хранит там свои всякие шняжки. и у меня есть эээ... назовём их jobs_result. это приблизительно 2-3 тысячи очень простых записей для каждого джоба. типа таймстамп и пара значений. и эти данные активно читаются и пишутся. и джобов я планирую порядка 1000 в сутки. и того за сутки 2-3 миллиона таких записей. и хранить их стоит месяц. тоесть 60 миллионов записей. и вот я думаю: стоит ли их разделить по отдельным таблицам? типа job_result_$id или job_result_$day или обойтись просто добавлением в таблицу поля job_id и фильтровать по нему?
и как удалять старые записи тогда?
Профиль чтения-записи: на одну запись в среднем около 20 чтений. 99% записи идёт в джобы последних двух часов. 100% чтения в джобы последних двух часов. Чисто теоритически по этому старые результаты можно переность в архивную таблицу, но в текущей таблице будет множиться мусор от такого. А остановку базы на обслуживание и переупаковку лишний раз делать не хочется. Чисто теоретически можно попробовать постгресс, там есть vacuum.
Может попрбовать nosql, какой-нить, но их стопицот видов а мне не очень хочется разбираться.