alllow filtering, modelagem de dados em cql

Atualmente estou usando e pesquisando sobre práticas de modelagem de dados em cassandra. Até agora, eu entendo que você precisa ter uma modelagem de dados com base nas consultas executadas. No entanto, múltiplosselect requisitos tornam a modelagem de dados ainda mais difícil ou impossível de lidar em uma tabela. Então, quando você não pode lidar com esses requisitos em uma tabela, você precisa inserir 2-3 tabelas. Em outras palavras, você precisa fazer várias inserções em uma operação.

Atualmente, estou lidando com um modelo de dados de uma estrutura de campanha. Eu tenho uma tabela de campanha no cassandra com o seguinte cql;

CREATE TABLE campaign_users
(
    created_at timeuuid,
    campaign_id int,
    uid bigint,
    updated_at timestamp,
    PRIMARY KEY (campaign_id, uid),
    INDEX(campaign_id, created_at)
);

Nesse modelo, preciso poder fazer exportações incrementais apenas com um registro de data e hora. Na cassandra, existeallow filtering modo que permiteselect consultas para índices secundários. Portanto, minha instrução cql para exportação incremental é a seguinte;

select campaign_id, uid 
from campaign_users
where created_at > minTimeuuid('2013-08-14 12:26:06+0000') allow filtering;

No entanto, se a filtragem por permissão for usada, haverá um aviso informando que a instrução tem um desempenho imprevisível. Então, é uma boa prática confiar emallow filtering ? O que podem ser outras alternativas?

questionAnswers(1)

yourAnswerToTheQuestion