2017-01-06 5 views
1

Я хочу, чтобы пользователь входил в систему, используя идентификатор электронной почты или номер мобильного телефона. или имя пользователя. Я новичок в cassandra, кто-нибудь может предложить мне подходящую модель данных.Модель данных Cassandra для входа в систему пользователя: разделение и кластеризация ключа путаницы

Я имею в виду, таким образом ...

Таблица - пользователь

  • имя_пользователя // рассматривать его как USERID PK
  • EMAILID
  • мобильный Нет
  • пароль

или я должен создать 3 таблицы

-username -password

-emailId -password

-mobileNo -password

также, как я могу извлечь выгоду из Cassandra раздела и кластеризации ключевое понятие?

заранее спасибо :)

ответ

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 - интенсивная база данных. Писания очень дешевы. При создании пользователя необходимо блокировать уровень приложения, вам нужно проверить, существует ли пользователь по электронной почте/uname/mobile no. Это случай проверки-действия.