2012-03-30 75 views
2

我正在忙於設計一個Web應用程序,希望這個應用程序可以變得非常大,並且擁有許多用戶。我選擇MongoDB作爲數據存儲,其中一個主要原因是隨着用戶羣的增長,它能夠水平擴展。Mongoid對縮放有什麼困難嗎?

有沒有人有使用Mongoid與高度分佈式的MongoDB進行交互處理大量流量的經驗?有沒有理由擔心表演?

回答

1

所以pre 2.0 2.0 Mongodb遭受全局鎖定,導致嚴重的縮放問題。這已在2.0被更改爲一個Lock with Dynamic yield

的mongod的方法使用修飾的讀取器/寫入器鎖定與動態 產生頁面錯誤和長操作。允許任何數量的併發 讀取操作,但寫入操作可以阻止所有其他的 操作。

我發現了Global Lock vs Lock with Yield的一些基本性能測試。

使用Mongoid訪問分片Mongodb設置沒有問題。只需要將Mongoid配置爲訪問分片的節點。

+0

請注意這個問題的要點:「它的水平擴展能力」和「高度分佈的MongoDB」。換句話說,設置多個分片的問題是什麼?每個分片複製到一個副本集中,前面的分片服務器和配置服務器協調一致? – yfeldblum 2012-03-30 14:51:14

0

Mongoid可以正常工作,因爲您只需要在數據庫配置中傳遞所有MongoDB實例。

Mongoid check to you is the node is master or not and write on it。如果主人離線。從MongoDB定義更改主數據。