2010-06-06 51 views
0

在考慮社交網絡應用程序體系結構時,在數據庫或日誌中記錄用戶社交模式是否更好?我確信行爲,行爲和事件將嚴格保存在數據庫中,但我注意到一些較大的社交網站也記錄了發生的事情。觀察社交網絡行爲:記錄或填充數據庫?

在數據庫中存儲關於用戶的突出數據是否好的做法,以及是否可以輕鬆生成數以千計的用戶操作?

回答

4

請記住,Facebook不會更新用戶信息本身,他們只是插入您的新信息,並使用最新的信息,保留舊信息。如果您打算採用這種方法,強烈建議(如果不是強制性的話)使用像Cassandra這樣的NoSQL DB,則需要加快完整性。

信息=金錢。更新=丟失信息=賠錢。

+0

您認爲如何登錄到XML,因爲您可以進行查詢 - 可以嗎?如果可能的話,我想保持輕量級,並且我認爲數據庫在驅動器上的成本會更高。但是他們的好處可能會超過資源開支。 – jlafay 2010-06-14 13:06:45

0

很明顯,這取決於你想用它做什麼(以及你的意思是「記錄」)。

我建議一個靈活的數據庫存儲。通過這種方式,您可以輕鬆地查詢它,並且可以靈活地隨後進行更改。

此外,從隱私的角度來看,如果能夠輕鬆地將項目與某些實體關聯起來,以便在需要時可以將其刪除,則是合適的。

0

您正在對「logging」和「database」進行人爲區分。

每當可行時,我都會登錄到數據庫,即使這些數據實際上是靜態的並且從未更新過。這是因爲如果您可以將日誌表與其他非靜態數據進行交叉引用,數據分析將變得更加容易。

當然,如果你有大量的事情要跟蹤,記錄到SQL數據表可能不實際,但在這種情況下,你應該考慮應用程序的其他類型的數據庫。