2012-02-15 70 views
2

我正在尋找關於活動源的良好數據存儲的一些建議。目標是製作一個Twitter/Facebook類型的供稿日誌,其中包含用戶可以在我們的網站上執行的各種活動。 「牆」或「飼料」將通過AJAX更新,顯示網站用戶目前正在做什麼。它會經常寫入,然後最新的信息會顯示在網站上。 (例如John Smith推薦Jane Smith的文章2秒前)對於網站的用戶活動日誌的數據存儲的建議

我們目前正在MySQL中存儲提要,但是性能一直很差,如果我們經常碰到網站的其他部分,我擔心會影響整個網站的性能。數據庫來抓取最近的用戶活動以及編寫提要。

任何建議將不勝感激!

回答

1

利用最佳緩存解決方案如memcache來提高性能。除縮放外,活動Feed沒有提高性能的可能性。

我會投票選擇使用http://redis.io/http://www.mongodb.org/作爲MySQL的替代方案,以用於跨網站的短期,近乎實時的活動訂閱源。還有一項cron工作,將活動的歷史記錄轉儲到MySQL中進行記錄。

看看tumblr'stwitters體系結構可以推動你走向正確的方向。

+0

謝謝你的時間和幫助!我會馬上審查你的建議。 – 2012-02-19 22:42:41

0

您應該採用微服務方法將存儲用戶操作的數據存儲區與存儲實際數據的數據存儲區分開。 Pub/Sub是處理大量用戶操作的正確方法。 將Kafka或Google Pub/Sub雲服務用於可伸縮數據管道。他們可以通過其可擴展架構來承擔負擔。 爲了您必須具備的分析目的,獨立地將來自Kafka的消息用於某些數據庫,例如MySQL或Google BigQuery。