Я новичок в Riak, и я читал главу this из документов riak. Это показывает, что, добавляя информацию о структуре в ведра и ключи, можно преодолеть некоторые ограничения операций key/value.Riak: поиск по ключевому префиксу
Хотя статья гласит пример того, как такой ключ будет структурирована:
ключи данных датчика может быть предисловием sensor_ или temp_sensor1_ с последующим меткой времени (например, sensor1_2013-11-05T08: 15: 30 -05: 00)
О методах запроса данных с помощью префикса ключа (например, sensor1_) не упоминается ни один метод. Оглядываясь на stackoverflow, я нашел this вопрос. В нем упоминаются MapReduce и ключевая фильтрация как возможное решение. Но documentation на ключевых фильтрах заявляет, что они являются скоро устаревшей функцией. Я также проверил поиск Riak как возможный способ, но не смог найти способ запроса данных с помощью префикса.
Мой вопрос: что такое лучший способ поиска данных с помощью префикса? Я был бы очень признателен за пример.
Чтобы добавить еще один вариант к идеям моделирования данных Крейга: агрегирование ключей в периоды времени. Вместо того, чтобы записывать каждое значение датчика в свой собственный ключ, группируйте их в одну пару ключ/значение, содержащую все значения датчика в течение 1 минуты (или какой-либо размер работает для вас). Затем у вас есть четко определенные предсказуемые ключи, которые можно повторить без необходимости их сканирования. – Joe
@Craig Спасибо за всесторонний ответ. Однако все еще интересно, почему, если этот шаблон поиска рекомендуется дизайнерами Riak, нет никакого простого способа его реализации? За исключением ключевого фильтра, который устарел. –
@NikolayManolov Большой вопрос.Важно помнить, что механизм, который Riak использует для распределения данных вокруг кластера, равномерно затрудняет итерацию по клавишам. Вот почему Key List op не рекомендуется в производстве (это очень дорого). Если вы не можете спроектировать вокруг проблемы, я бы рекомендовал Solr, а затем MapReduce. – Craig