我們正在開發將具有用戶訂閱特定事件組的Web應用程序。 例如:用戶在blob中創建一條評論,所有訂閱這個博客的用戶應該在他們的列表中包含這個事件。Web應用程序中的用戶事件訂閱
當前,我們正在搜索數據模型來存儲這些數據。
存儲在一個表中的所有事件,似乎從可用性的角度來看是一個好主意:
- 對象(在本例中:評論參考)
- 可訂閱對象(在本例中:博客引用)
- 用戶生成該事件
- 事件類型(如:更新,創建等)
訂閱事件對於特定用戶而言,可能會被sql查詢收集,該查詢將按用戶訂閱過濾事件。
此數據模型中的問題是可訂閱對象可能具有「繼承」。例如:用戶可能訂閱了博客或博客中的特定帖子。 這意味着博客訂閱會擴展帖子訂閱,並且此數據模型不會反映此行爲。在這種情況下,我將不得不產生2個事件:一個用於博客,另一個用於發佈。
將一個表中的所有事件放在一張表中或者將它們分成不同的表格是一個好主意嗎?無論如何,事件表將會有大量的數據。有沒有更好的主意來組織事件記錄?
我知道以下功能。以下將導致產生該事件的用戶的事件分組。這意味着所有事件對象類型的聯合。看起來這是存儲在一個表中的最終原因。 – 2009-10-15 11:59:55