2012-04-12 5 views
2

comme le dit le titre Je suis assez (lire: complètement) nouveau à NoSQL DBS tels que Cassandra. Comme beaucoup d'autres, j'ai appris RMDBS auparavant. J'ai donc fait un peu de lecture sur "WTF est une super colonne" et d'autres google hits, mais je ne suis toujours pas sûr comment modéliser ceci:Cassandra/NoSQL newbie: la bonne façon de modéliser?

Dites que je veux enregistrer les utilisateurs, comme dans nom d'utilisateur/mot de passe/nom/etc ... Et si cet utilisateur a comme, un téléphone mobile et un téléphone fixe? Est-ce que c'est la bonne façon de le faire? (En utilisant le même style JSON abrégé comme on le voit sur d'autres sites)

Users: { // <-- this is the Users SuperColumnFamily, keyed by username 
    myuser: { // <-- this is a User SuperColumn 
     username = "myuser", // <-- this is the username Column 
     email = "[email protected]", 
     ... 
    }, 
    ... 
} 

Phone: { // <-- this is where the users phone numbers are stored 
    myuser: { 
     mobile = "0129386835235", 
     landline = "123876912384", 
    }, 
    ... 
} 

avis/corrections Veuillez

Répondre

4

Pour commencer, ne pas utiliser super-colonnes. Voir:

http://www.quora.com/Cassandra-database/Why-is-it-bad-to-use-supercolumns-in-Cassandra

Maintenant, pour répondre à votre question. L'exemple que vous avez décrit est facilement modélisé avec juste une famille régulière de la colonne:

Users: { <- This is the name of the column family 
    username1: { <- this is a row key within the column family, it is one of your usernames 
    email: [email protected] <- these are all of the columns within this row, they correspond to attributes for this user 
    mobile: ... 
    landline: ... 
    } 
    username2: { <- another row for a different user 
    email: [email protected] 
    } 
} 

Vous pouvez voir le schéma ci-dessus souple en ce que chaque ligne a un autre ensemble de colonnes pour décrire cet utilisateur.

Pour plus d'informations sur le modèle de données cassandra Je recommande la lecture sur http://www.datastax.com/docs/1.0/ddl/index

+0

je vous remercie, je pensais trop relation –

Questions connexes