30-50 миллионов это не big data. И всё будет летать.
Но вот сервер вовзращал разную частоту данных в зависимости от заданного промежутка времени, при срезе до недели, это 5 минут, при срезе до месяца - 1 час, как это организовать на сервере, для меня вопрос.
Обычная логика, что сложного-то в проверке размера выбранного периода? Если выбрали много то делаем группировку больше.
timestamp должен быть быстрее и удобнее к тому же, особенно в выборках по датам.
Ну и бонусом удобство работы в виде всяких date_sub() date_add() и т.д.