mongodb SNS design 問題
在做一個小型社交網站時,需要涉及到用戶
和狀態
,評論
等幾張表,用戶可以發表多個狀態,每個狀態下會有多個評論資訊。
關於狀態
表和評論
表的設計遇到了一些問題,即用戶資訊類似於用戶名和用戶頭像等資訊是否要embeded到兩張表中,還是只在表中存放用戶的ID資訊。
現在有兩種解決方案:
- 兩張表中只存放用戶ID,用戶具體資訊存放在用戶表中,但是這種方案在查詢時會影響效率,特別是具體訪問一條狀態時,就要獲取該狀態的所有評論,而每條評論都要有使用者的頭像和暱稱等等,若每次都分開查詢的話,感覺效率會很低。
- 在兩張表中存放用戶的信息,這種方法在查詢時會非常方便,但是用戶更新自身狀態時會非常麻煩,要去遍歷這兩張表去逐個更新裡面的信息。
不知具體該選用哪一種方案?還是有更好的方案?