Cassandra: lista 10 registros modificados mais recentemente

Estou tendo problemas para tentar modelar meus dados para que eu possa consultar com eficiência o Cassandra pelos últimos 10 (qualquer número, na verdade) registros que foram modificados mais recentemente. Cada registro possui uma coluna last_modified_date definida pelo aplicativo ao inserir / atualizar o registro.

Excluí as colunas de dados deste código de exemplo.

Tabela de dados principal (contém apenas uma linha por registro):

CREATE TABLE record (
    record_id int,
    last_modified_by text,
    last_modified_date timestamp,
    PRIMARY KEY (record_id)
);
Solução 1 (falha)

Tentei criar uma tabela separada, que usava uma ordem de chave de cluster.

Tabela (uma linha para cada registro; apenas inserção da data da última modificação):

CREATE TABLE record_by_last_modified_index (
    record_id int,
    last_modified_by text,
    last_modified_date timestamp,
    PRIMARY KEY (record_id, last_modified_date)
) WITH CLUSTERING ORDER BY (last_modified_date DESC);

Inquerir:

SELECT * FROM record_by_last_modified_index LIMIT 10

Esta solução não funciona, pois a ordem de cluster se aplica apenas à ordem de registros com a mesma chave de partição. Como cada linha possui uma chave de partição diferente (record_id), os resultados da consulta não incluem os registros esperados.

Solução 2 (ineficiente)

Outra solução que tentei é simplesmente consultar o Cassandra para todos os valores record_id e last_modified_date, classificá-los e escolher os 10 primeiros registros no meu aplicativo. Isso é claramente ineficiente e não será bem dimensionado.

Solução 3

Uma última solução, que considerei, é usar a mesma chave de partição para todos os registros e usar a ordem de cluster para garantir que os registros sejam classificados corretamente. O problema com essa solução é que os dados não serão particionados corretamente entre os nós, pois todos os registros teriam a mesma chave de partição. Isso me parece um não-iniciante.