0
我正在研究與使用Java和Cassandra數據庫的討論論壇相關的Web應用程序。爲嚴重非規範化的NoSQL數據庫設計唯一鍵(主鍵)
我需要爲存儲用戶詳細信息的行構建「密鑰」,並存儲由用戶發佈的內容的另一組行。
一種選擇是獲取由Java語言提供的隨機生成的UUID,但它們的長度爲16個字節。而且由於NoSQL數據庫涉及嚴重的非規範化,我擔心如果密鑰可能以較小的尺寸生成,是否會浪費大量磁盤空間,RAM和其他資源。
我需要生成兩種類型的密鑰,一種用於用戶發佈的其他內容的用戶&。
對於用戶發佈的內容,timestamp+userId
是一個很好的關鍵。其中timestamp
是發佈內容的服務器時間,userId
是指用戶行的密鑰。
知道的任何建議,意見..
感謝 馬科斯
謝謝奧利弗!是的,這是一個分佈式數據庫Cassandra的分佈式應用程序。由於該數據庫最終是一致的,所以同步可能不會很快,並且這可能導致問題,因爲該ID的數據可能被覆蓋。但是也可以調整Cassandra的一致性級別,如果這會導致可行的解決方案,我會研究一下。除此之外還有其他的選擇嗎? – 2011-02-03 08:24:07