El hecho de que algunas direcciones IP sean más populares (obteniendo más lecturas o escrituras) que otras, generalmente no es un gran problema, y es bastante habitual. Scylla los dividirá aleatoriamente entre los diferentes nodos (y núcleos en cada nodo), y siempre que tenga muchas más particiones activas que los núcleos en su clúster, la carga y el uso del disco deben estar bastante bien equilibrados.
Las cosas pueden volverse diferentes en casos extremos, como cuando cada actualización hace crecer una partición (es decir, agregarle una fila), y solo unas pocas particiones son extremadamente calientes. Por ejemplo, puede imaginar una base de datos utilizada para registrar solicitudes, y además de un millón de clientes normales con 10 solicitudes por día, también tiene 10 "atacantes" que hacen un millón de solicitudes por día. En estos casos extremos, puede encontrarse con algunos de los nodos que transportan significativamente más carga o espacio en disco que otros. Tales casos extremos también pueden causar otros problemas: si bien el soporte de Scylla para particiones enormes ha mejorado recientemente, todavía no es perfecto, y si puede evitar estos casos extremos, es mejor.
Finalmente, si vuelvo a su pregunta original, "¿Es una buena práctica usar la dirección IP como clave principal en scylla db?", La respuesta es "sí, pero":
Es "sí" porque Scylla no tiene ningún problema específico con las direcciones IP como clave: distribuye las diferentes direcciones IP a diferentes nodos al azar (utilizando la función hash "murmur3"), por lo que no hay ningún problema particular con el hecho de que las direcciones IP se agrupan juntos (por ejemplo, varios clientes de la misma subred no solo se envían a los mismos nodos del clúster).
Es "pero" porque el problema no son las direcciones IP como clave per se, sino más bien el contenido de la partición que tiene la intención de almacenar, y cuán sesgada es la frecuencia de actualización, y el tamaño, para las diferentes particiones.
Ah, y una última nota:
Si está utilizando la Estrategia de compactación por niveles (STCS), el uso máximo de espacio en disco en cualquier momento en particular puede ser bastante mayor que la cantidad real de datos que se almacenan. Si su carga de trabajo es alta en sobrescrituras (los datos no se agregan, sino que se reemplazan, eliminan, etc.), antes de que la compactación termine su trabajo, los datos en el disco pueden ser el doble de la cantidad real de datos. Si este es el caso, si se inspecciona el sistema en algún momento al azar, que seobserve que algunos nodos tienen más datos en el disco que otros, dependiendo de su posición aleatoria en el trabajo de compactación cuando realiza esta medición. Algo que puede hacer para verificar si esto es lo que está viendo es invocar una "compactación importante" en todos los nodos, y medir el uso del disco en ese momento, esperando ver un uso de espacio en disco mucho más uniforme en todos los nodos.