我正在忙於設計一個Web應用程序,希望這個應用程序可以變得非常大,並且擁有許多用戶。我選擇MongoDB作爲數據存儲,其中一個主要原因是隨着用戶羣的增長,它能夠水平擴展。Mongoid對縮放有什麼困難嗎?
有沒有人有使用Mongoid與高度分佈式的MongoDB進行交互處理大量流量的經驗?有沒有理由擔心表演?
我正在忙於設計一個Web應用程序,希望這個應用程序可以變得非常大,並且擁有許多用戶。我選擇MongoDB作爲數據存儲,其中一個主要原因是隨着用戶羣的增長,它能夠水平擴展。Mongoid對縮放有什麼困難嗎?
有沒有人有使用Mongoid與高度分佈式的MongoDB進行交互處理大量流量的經驗?有沒有理由擔心表演?
所以pre 2.0 2.0 Mongodb遭受全局鎖定,導致嚴重的縮放問題。這已在2.0被更改爲一個Lock with Dynamic yield
的mongod的方法使用修飾的讀取器/寫入器鎖定與動態 產生頁面錯誤和長操作。允許任何數量的併發 讀取操作,但寫入操作可以阻止所有其他的 操作。
我發現了Global Lock vs Lock with Yield的一些基本性能測試。
使用Mongoid訪問分片Mongodb設置沒有問題。只需要將Mongoid配置爲訪問分片的節點。
Mongoid可以正常工作,因爲您只需要在數據庫配置中傳遞所有MongoDB實例。
Mongoid check to you is the node is master or not and write on it。如果主人離線。從MongoDB定義更改主數據。
請注意這個問題的要點:「它的水平擴展能力」和「高度分佈的MongoDB」。換句話說,設置多個分片的問題是什麼?每個分片複製到一個副本集中,前面的分片服務器和配置服務器協調一致? – yfeldblum 2012-03-30 14:51:14