Пейджинг получить все ключи на riak с помощью Java Api

в настоящее время мы тестируем Riak, у нас в Riak огромная корзина с миллионами ключей, и мне нужно запросить все ключи и сохранить их в файле. Мы используем Java в качестве API.

Есть ли способ получить результат запроса на страницу?


person Shimon Benattar    schedule 21.11.2013    source источник


Ответы (1)


Список миллионов ключей в Riak не рекомендуется в производственных средах. так как это очень дорогая операция. Если вам все еще нужно это сделать, лучше всего использовать функцию ключей списка, поскольку это позволяет Riak передавать результаты обратно клиенту и будет работать для любого бэкэнда.

Хотя можно выполнять разбиение на страницы для запросов вторичного индекса, если вы используете LevelDB или серверную часть памяти в версии 1.4 и выше, это требует сортировки на стороне сервера и поэтому не рекомендуется для таких больших наборов результатов.

person Christian Dahlqvist    schedule 21.11.2013
comment
Мне нужно загрузить все ключи (по запросу) в файл кеша, я знаю, что это не рекомендуемое производственное решение, есть ли другое решение? - person Shimon Benattar; 24.11.2013
comment
Я видел предложения использовать вторичный индекс $key, это должно позволить мне использовать параметр продолжения. Я не могу найти, как использовать это в Java - person Shimon Benattar; 24.11.2013
comment
Если вам абсолютно необходимо перечислить все ключи, используйте потоковый список ключей. Если вы используете LevelDB, это будет использовать внутренние индексы за кулисами. Попытка использовать разбивку на страницы создаст значительно большую нагрузку на кластер, чем список ключей, учитывая большое количество ключей, которые вы ожидаете вернуть. Я также не думаю, что нумерация страниц возможна для специальных индексов $key и $bucket. - person Christian Dahlqvist; 24.11.2013