Я не могу прервать тайм-аут сеанса с помощью тайм-аута devise в initializers / devise.rb
Я установил
config.timeout_in = 1.minute
в initializers / devise .rb и я вошли в систему с одним пользователем и простаивали 2 минуты. Предполагается, что это сделает текущий сеанс недействительным и снова предложит запросить учетные данные пользователя, но сеанс никогда не завершается. Мне нужно хранить значения различных датчиков окружающей среды с отметками времени. Я провел несколько тестов с SQLCE, он отлично работает для ...
Как лучше всего хранить большой объем данных в базе данных? Мне нужно хранить значения различных датчиков окружающей среды с отметками времени. Я провел несколько тестов с SQLCE, он отлично работает для нескольких 100000 строк, но если он дойдет до миллионов, выбор будет ужасно медленным. Мои фактические таблицы:
Datapoint:[DatastreamID:int, Timestamp:datetime, Value:float]
Datastream: [ID:int{unique index}, Uint:nvarchar, Tag:nvarchar]
Если я запрашиваю точки данных для определенного потока данных и диапазона дат, на это уходит много времени. Особенно, если я запускаю его на встроенном устройстве WindowsCE. И это главная проблема. На моей машине разработки запрос занимал ~ 1 сек, но на устройстве CE он занимал ~ 5 минут
каждые 5 минут. Я регистрирую 20 датчиков, 12 в час * 24 часа * 365 дней = 105,120 * 20 датчиков = 2,102,400 (строк) в год
Но может быть и больше датчиков!
Я подумал о каком-то бэкэнде веб-сервиса, но у устройства не всегда может быть подключение к Интернету / серверу.
Данные должны отображаться на самом устройстве .
Как я могу ускорить процесс? выбрать другой макет таблицы, использовать другую базу данных (sqlite)? На данный момент я использую .netcf20 и SQLCE3. 5
Некоторые советы?