Доброго вечера, я вновь за советом.
Я проектирую приложение на Ruby on Rails и не знаю как лучше организовать хранение временных геоданных.
С мобильных клиентов на сервер отправляются данные (публичный ключ (хранится в соответствующей модели Rails приложения), и геоданные (longlat)). Частота отправки от 1 до 3 сек (для каждого клиента разная). Клиентов ожидается на первое время сотня, но тестироваться будет на больших объемах: 700-3000 одновременно подключенных клиентов.
Задача: организовать временное хранилище, которое по достижении некоторого времени, будет предоставлять накопленные данные Rails приложению (в котором, будет производиться поиск модели по публичному ключу и отображение данных).
Проблема в том, что я не знаю, нужно ли хранить эти значения или нет в реляционной базе данных, из за чего я не могу подобрать более подходящий инструмент. (У меня дилемма, т.к. с одной стороны, эти данные нужны исключительно для отображения маркера на карте, и заносить их в постоянную бд кажется избыточным. С другой стороны, хранение их в бд лишает проблемы интеграции с приложением)
Я в курсе про Redis, но я не знаю как заставить его создавать транзакцию и делать коммит в бд. Если лучшим выбором будет отказаться от коммитов в базу данных, и ограничиться только лишь кешем, то возникает сложность получения этих данных из Rails (получить нужно все данные, а они, очевидно, с различными ключами). Кроме того, после получения этих данных они должны остаться так же доступными для последующих подключений клиентов web-приложения.
Хочу сразу грамотно спроектировать приложение, что бы в дальнейшем не было лишних проблем.
P.S. Успокойтесь, ни за кем следить не собираюсь, приложение пишется для коммерческих целей для мониторинга движения служебного транспорта. Похождение простых смертных линуксоидов заказчику не интересны. :)