Совет нужен.
Задача простая — учёт загрузки Web-системы. Пишем в хранилище имя класса выводимого объекта, время генерации, IP клиента и немного другой информации.
Нужно при каждом запросе проверять суммарное время работы клиента и при превышении лимита возвращать 503-ю ошибку.
Также должна быть возможность посмотреть какие классы грузят систему больше всего, какие пользователи, комбинированную нагрузку (класс+пользователь).
Сейчас с этой задачей справляется обычная таблица mysql. Но это лишние SELECT + INSERT/UPDATE на каждое обращение. Не то, чтобы сильно сказывалось, но хочется более оптимального решения.
Первое, что приходит в голову — например, хранить суммарное время работы клиента и классов в чём-то типа key-value, в хеше. В том же Redis. Но тогда замучаешься потом выводить топ по загрузке.
Засунуть в что-то типа MongoDB? Шило на мыло получится.
Какая-нибудь БД, проще и легче MySQL? Ибо логика предельно простая.
А, да — всё это на PHP, т.е. биндинги рассматриваемых систем приветствуются.
Есть мысли на чём можно тут сэкономить?
~~~