用户登录的Cassandra数据模型:分区和群集密钥混淆

时间:2017-01-06 06:10:04

标签: cassandra data-modeling

我希望用户使用电子邮件ID或手机号码登录。或userName。 我是cassandra的新手,任何人都可以建议我使用正确的数据模型。

我这样想......

表格 - 用户

  • userName //将其视为userId PK
  • emailId
  • 手机号
  • 密码

或者我应该创建3个表

-userName -password

-emailId -password

-mobileNo -password

我如何从cassandra分区和聚类关键概念中受益?

提前感谢:)

1 个答案:

答案 0 :(得分:1)

创建三个表 -

Create table User_by_userid{
 username text,
 email text,
 mobileno text,
 password
 primary key (username)

 }

   Create table User_by_email{
    username text,
    email text,
    mobileno text,
    password
    primary key (email)

 }

  Create table User_by_mobileno{
    username text,
    email text,
    mobileno text,
    password
    primary key (mobileno)

  }

这将是有效的方式。在Cassandra数据建模时,数据复制非常有用。 Cassandra是写密集型数据库。写得很便宜。 您需要在创建用户时锁定应用程序级别,您需要通过email / uname / mobile来检查用户是否存在。这是一个检查然后行动的案例。