2013-02-21 41 views
-3

我需要的是一種RDBMS,它可以非常快速地檢索小塊數據(例如,用戶的帖子,帖子的喜歡等),但同時插入的速度也同樣快(EG,同時有一個查詢運行檢索一個項目的喜歡,200人可能喜歡200其他職位)。什麼數據庫引擎應該用於有很多用戶的社區網站?

我讀過Facebook面臨MySQL問題,並且做了大量的分片以彌補MySQL在處理大量事務中的缺陷。我正在尋找一種解決方案,允許開發人員進行編碼,並將擴展放到數據庫引擎中。我聽說NewSQL引擎對此很有幫助,但我沒有第一手知識,並且正在尋找一個管理系統的人員,他擁有大量數據和併發事務,並且需要非常小的查詢時間。

+4

這將需要一段時間才能達到facebook的縮放問題... – jeroen 2013-02-21 13:45:57

+1

尋求建議是題外話,並不適合在這裏的問題。看到[faq](http://stackoverflow.com/faq#questions);你的問題有任意的答案 – Amelia 2013-02-21 13:47:35

+0

這不是一個擁有數百萬用戶的社區網站嗎? – 2013-02-21 13:49:41

回答

1

如果您的產品尚未編寫,請使用您已使用的任何技術進行編寫。如果您想在MySQL和其他人之間輕鬆切換,請使用標準關係數據庫,也許使用ORM。然後,如果您遇到縮放問題,請從此處修復。在此期間,您可以向外擴展。

這裏的關鍵信息是:如果您不確定是否需要,請不要花費大量成本來縮減成本。如果你想更多地瞭解這一點,尋找「不成熟的優化是所有邪惡的根源」:)

因爲這個原因,我喜歡Propel加上一個web框架。我從MySQL開始,後來我可能會認爲PostgreSQL更適合 - 如果我已經完成了所有的「推進方式」,那麼切換到新的引擎是很簡單的 - 重建並去。即使我出於性能方面的原因使用了自定義SQL,但一個好的MVC結構使分支更容易,找出需要更改的內容並修改新系統。

如果您以後需要它,您可以零碎地連接完全不同的系統。也許一個巨大的表導致性能問題 - 將HTML的片段緩存到memcache,或者可能在NoSQL中以非規範化形式存儲一些數據。上述所有方面的混合實際上比從一個到另一個的「純粹」切換更實用,而且工作量更少!

相關問題