J'essaye de concevoir une famille de colonnes dans Cassandra mais j'ai quelques doutes sur la clé primaire/partition.
Ce que je veux est la suivante:Cassandra, partition/clé primaire: partitionnement et contrainte
- données Étendre uniformément autour du cluster
- Réduire le nombre de partitions lu
Je sais que ces objectifs sont réalisables en choisissant la partition appropriée/primaire key, mais supposons que la partition/clé primaire choisie autorise des données invalides dans votre famille colum, que faites-vous?
Supposons que j'ai la Colum familiale suivante:
CREATE TABLE group (
groupname text,
username text,
PRIMARY KEY (groupname, username))
Supposons qu'un nom d'utilisateur doit appartenir uniquement dans un groupe, avec cette clé primaire, je peux obtenir (avec une hypothèse) les objectifs précédents , mais il n'y a aucun moyen d'éviter qu'un nom d'utilisateur soit placé dans plus d'un groupe. Puis-je simplement faire une supposition sur ce qui sera dans la famille de colonnes ou y a-t-il des façons d'éviter l'insertion de données invalides?
Il n'est pas possible de c reate l'équivalent RDBMS d'une "contrainte" dans Cassandra. Si vous devez vous assurer que les données non valides ne sont pas écrites, vous devrez vérifier cela au niveau de l'application. – Aaron