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