2017-01-06 3 views
1

電子メールIDまたはモバイル番号を使用してユーザーにログインさせたい。またはuserName。 私はcassandraを初めて熟知しています。誰も私に正しいデータモデルを提案することができます。ユーザーログインのためのCassandraデータモデル:パーティションとクラスタリングの混乱

私は...このように

表を考えています - ユーザー

  • のuserName //パスワード
  • モバイルん
  • EMAILID
  • のuserId PKとして扱います

    または3つのテーブルを作成する必要があります

    -userName -password

    -password

    を-emailId -mobileNo -password

    またどのように私はカサンドラパーティションの恩恵を受けるとキーコンセプトをクラスタ化することができますか?効率的な方法になります

    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) 
    
        } 
    

    この -

    答えて

    1

    :)事前に

    おかげで3つのテーブルを作成します。データのコピーは、Cassandraのデータモデリングの際に非常に役立ちます。カッサンドラは、書き込みが集中的なデータベースです。書き込みは非常に安いです。 ユーザーの作成中にアプリケーションレベルのロックをオンにする必要がある場合は、ユーザーが電子メール/ uname/mobile番号で存在するかどうかを確認する必要があります。これはチェック・アンド・アクトのケースです。

    関連する問題