1
我是Cassandra的新手,我開始設計一個簡單的用戶表進行帳戶註冊和登錄。這很簡單:在Cassandra中設計/使用用戶表並創建帳戶
行鍵:用戶名;欄目:電子郵件,名稱,密碼,鹽。
或者:
行鍵:uuid;列:用戶名,電子郵件,名稱,密碼,鹽。
對此結構簡單,我有兩個問題:
- 我需要的電子郵件(和用戶名)查找索引。我可以使用輔助索引或手動創建索引。我應該選擇第二個選項,因爲電子郵件/用戶名列的基數很高嗎?顯然,二級索引適用於低基數列。
- 更重要的是,我立即遇到了同時向表中插入密鑰的問題 - 我需要進行先讀後寫,以確保用戶名(或電子郵件)不在數據庫中。有沒有辦法避免潛在的競爭條件(例如,兩個用戶同時註冊相同的用戶名/電子郵件)?還是使用其他關係數據庫處理用戶註冊並將用戶帳戶詳細信息複製到cassandra數據庫以進行登錄和其他用途的正確解決方案?