Я планирую использовать Riak для хранения данных датчиков, но датчики подключены к разным пользователям. Мой план, чтобы сделать структуру следующим образом: Bucket = идентификатор пользователя ключа = время, нового ключ каждой минуты (или две минуты, могут быть)Оптимальная стратегия хранения Riak
Когда я говорю, новый ключ каждой минуты, показание, не всегда непрерывно и не в режиме реального времени, но они загружаются позже. Они записываются в определенные периоды дня. Частота измерений довольно высокая, 250 выборок в секунду. Если я сделаю новый ключ для каждого измерения, я быстро взломаю ключи, и я не думаю, что это будет полезно для производительности. Кроме того, мне не нужно знать точное число в каждый данный момент, я буду использовать их более последовательно в течение периода (значения от минуты N до минуты M).
Так что я думаю о «группировке» результатов за каждую минуту и их хранении как в некотором JSON.
Эта стратегия представляется выполнимой?
Кроме того, я думаю об использовании LevelDB в качестве механизма хранения, просто чтобы быть в безопасности, насколько это касается использования ОЗУ.
Как я уже сказал, данные будут считаться из частей, как в одно время, так и в другое время. Каждое значение с ключом (временем), которое находится между двумя моментами, должно быть считано. Если будет некоторая обработка (не в первый раз), это, вероятно, будет сделано таким же образом, найдите шаблон, который возникает между двумя моментами. Значения, после сохранения, не будут расти позже. Я не думаю, что они будут более 10 МБ, это действительно много текста. Я не совсем понимаю вторичные индексы и как они используются, пока. Спасибо, похоже, я планировал. Еще одна вещь, как Riak сравнивает время в ключах? –
Riak generaly - это хранилище ключей/значений, однако есть специальные функции, такие как вторичные индексы и mapreduce, которые позволяют делать больше одного запроса в то время. 2i позволяют извлекать данные из ключа запуска до конца ключа. Все клавиши, которые лексикографически между ними будут выбраны – danechkin