我正在開發一個類似Facebook的社交網站。我很困惑如何創建通知表的結構。是否應該爲每個用戶單獨使用還是爲所有用戶使用一個巨大的 - 哪些地方經常添加和刪除記錄?用於社交網站的表格等通知的數據庫表結構
回答
我有同樣的問題,因爲你和經研究發現這個(found this)這裏給出的表結構是:
id
user_id (int)
activity_type (tinyint)
source_id (int)
parent_id (int)
parent_type (tinyint)
time (datetime but a smaller type like int would be better)
其中:
ACTIVITY_TYPE告訴我活動的類型,SOURCE_ID告訴我活動相關的記錄。所以如果活動類型的意思是「添加最喜歡的」,那麼我知道source_id是指最喜歡記錄的ID。
parent_id/parent_type對我的應用程序很有用 - 他們告訴我該活動與什麼有關。如果一本書收藏,然後PARENT_ID/PARENT_TYPE會告訴我該活動涉及到一本書(型)具有給定主鍵(id)
I指數在(USER_ID,時間)和查詢活動是user_id IN(...朋友...)和時間>一些截點。開出id並選擇不同的聚集索引可能是一個好主意 - 我還沒有嘗試過。
很基本的東西,但它的工作原理很簡單,而且隨着需求的變化很容易處理。另外,如果你不使用MySQL,你可能可以做更好的索引。
它還建議那裏使用Redis更快地訪問最近的活動。 隨着Redis的中拌勻,它可能工作是這樣的:
- 創建你的MySQL活動記錄
- 對於用戶的每一個朋友,誰創建活動,推動ID到在Redis的他們的活動列表。
- 調整每個列表中的最後一個X項目
Redis的是快速和跨越一個連接提供了一種管道命令 - 所以推的活動了1000個朋友需要毫秒。
對於什麼,我說什麼,看到Redis的Twitter的例子更詳細的解釋:http://code.google.com/p/redis/wiki/TwitterAlikeExample
我希望這可以幫助你也
僅給出鏈接參考作爲答案並不好。如果鏈接被更改/更新/編輯/刪除,答案將自動失效。所以總是試着解釋答案,然後給出一個參考。 – Sankumarsingh 2013-08-20 09:59:15
謝謝,將編輯這一個 – YXN 2013-08-20 10:01:44
- 1. 社交網站的數據庫連接
- 2. 數據庫查詢社交網站的時間表
- 3. 社交網站數據庫開發
- 4. 關於社交網站數據庫的問題
- 5. 針對社交網站的數據庫和數據庫引擎
- 6. 社交網絡背後的數據庫結構[指導]
- 7. 包含社區結構的社交網絡數據集
- 8. 社交網站的報表/ BI框架
- 9. 社交網絡數據庫
- 10. 適用於.NET的社交網站API
- 11. 社交網站網站數據庫管理
- 12. 社交網站的數據存儲
- 13. 社交網站網站按鈕庫
- 14. 股票交易網站的數據庫結構?
- 15. 社交媒體內容的表格結構
- 16. 社交網站需要的數據庫模式幫助
- 17. 社交登錄實現的數據庫結構?
- 18. 網站數據庫結構 - 最好最有效的結構
- 19. 使用ASP.NET的社交網絡網站
- 20. 安全的社交網站
- 21. 用於圖形/網絡數據結構的Java API的列表
- 22. 數據庫表結構
- 23. Zend_Auth:數據庫表結構
- 24. 如何在社交網站2.1.3中從社交網站註銷?
- 25. 收集社交數據驅動網站的數據
- 26. 多語言社交網站 - 數據庫驅動?
- 27. 用於表示用戶之間連接的數據庫結構
- 28. 社交網站的Joomla VS笨社交網絡
- 29. 複雜的SQL查詢用於社交網絡網站
- 30. 社交網絡PHP/MySQL結構
我已經建立信息和個人資料和照片等,桌到現在。但我對通知感到困惑。看到我認爲它有兩種方式 - 1.每個用戶的小通知表和一張存放所有通知的巨大表格。例如。 Not_a11(id,notf_id)。通知_master(notf_id,memid,notif_text,dttime)。這樣我就會一直更新兩張表。每當用戶登錄他的桌子時都會被引用,並顯示通知。你說什麼 – phpDevlpr 2013-03-04 04:52:45
有人回覆? – phpDevlpr 2013-03-04 10:38:46