Вы можете положиться на пейджинг, реализованный драйверами, например, в Java.
В вашем случае вы можете выполнить запрос и использовать .setFetchSize
при выполнении указанного c запроса к некоторому нужному значению - в этом случае драйвер будет считывать приблизительно указанное число (или меньше) в качестве первого страницы, и если вам понадобится больше, то вы можете продолжить итерацию по результатам, и драйвер будет загружать следующую страницу, пока вы либо не остановитесь, либо данных больше не будет.
Но будьте очень осторожны с низкие значения страницы - если у вас много данных в разделе, то драйверу потребуется очень часто go для Cassandra, что повлияет на производительность.
PS у вас не может быть 10 записей для запрос where firstname = "something" and surname = "something"
, поскольку оба столбца содержат полный первичный ключ, и для данного первичного ключа может быть только одна запись. Вы можете использовать что-то вроде where firstname = "something" and surname >= "something"
для извлечения данных, начиная с указанной фамилии.