Без разницы на чем реализовывать — с каждым шагом на будете упираться в производительность запросов.
Т.е. нужно решить две задачи:
а) выборка по схеме данных за допустимый период
б) получение данных за допустимый период
Грубо так:
103: любой хранилище с индексами по полям участвующим в запросе (практически любой sql-сервер)
104: поля участвующий в запросе кодируются в ключи (денормализация или NoSQL)
105: скорость выборки — шардинг хранилища + многопоточность выборки + проблемы с соединениями, здесь уже ломать голову нужно какая у вас архитектура, какие технологии используете
106: скорее всего вы уже сами будете отвечать на такие вопросы :)