O fato de alguns endereços IP serem mais quentes - obtendo mais leituras ou gravações - que outros - geralmente é não é um grande problema e é bastante comum. O Scylla os dividirá aleatoriamente entre os diferentes nós (e núcleos em cada nó) e, desde que você tenha muitas partições significativamente mais quentes do que núcleos no cluster, a carga - e o uso do disco - deverão ser razoavelmente bem equilibrados.
As coisas podem tornar-se diferente em casos extremos, como quando cada atualização crescer uma partição (ou seja, adicionar uma linha para ele), e apenas algumas partições são extremamente quente. Por exemplo, você pode imaginar um banco de dados usado para registrar solicitações e, além de um milhão de clientes normais com 10 solicitações por dia, também possui 10 "atacantes" que fazem um milhão de solicitações por dia. Nesses casos extremos, você pode encontrar alguns nós que transportam significativamente mais carga e / ou espaço em disco do que outros. Casos extremos também podem causar outros problemas: embora o suporte do Scylla a grandes partições tenha melhorado recentemente, ele ainda não é perfeito, e se você pode evitar casos extremos, é melhor.
Por fim, se eu voltar à sua pergunta original, "Usar o endereço IP como chave primária é uma boa prática no scylla db?", A resposta é "sim, mas":
É "sim" porque o Scylla não tem nenhum problema específico com os endereços IP como chave - ele distribui os diferentes endereços IP para diferentes nós aleatoriamente (usando a função de hash "murmur3")), portanto não há nenhum problema específico com o fato de os endereços IP se aglomerarem juntos (por exemplo, vários clientes da mesma sub-rede não são apenas enviados para os mesmos nós do cluster).
É "mas" porque o problema não são os endereços IP como uma chave em si, mas o conteúdo da partição que você pretende armazenar para ela e como a frequência e o tamanho da atualização são distorcidos para as diferentes partições.
Ah, e uma última nota:
Se você estiver usando o STCS ( Size Tierd Compaction Strategy ), o uso máximo do espaço em disco em um determinado momento pode ser bem maior que a quantidade real de dados armazenados. Se sua carga de trabalho for substituída (os dados não estão sendo adicionados, mas substituídos, excluídos etc.), antes que a compactação termine seu trabalho, os dados no disco podem muito bem ser o dobro da quantidade real de dados. Se esse for o caso, se você inspecionar o sistema em algum momento aleatório, vainotará que alguns nós têm mais dados no disco do que outros, dependendo da posição aleatória deles no trabalho de compactação ao fazer essa medição. Algo que você pode fazer para verificar se é isso que você está vendo é chamar "compactação principal" em todos os nós,