2010-10-24 42 views
0

我擁有大約80張桌子的中等規模的rails ERP應用程序。我使用MySQL。我最近收到了一個客戶需求,需要我爲大約10,000個辦公室(每個辦公室實例)部署相同的應用程序。中心辦公室(超級辦公室)必須能夠查看來自所有這些辦事處的詳細信息。超過10,000個ERP實例的數據庫策略

與客戶交談後,我可以想出: 爲10,000個辦公室配置應用程序,superadmin需要訪問一些新的數據模型。這些模型的表格將在另一個數據庫(superdamin_database,而不是某個辦公室使用的數據庫)中,向其報告要寫入超級管理員的數據

我打算讓另一個應用程序連接到這個superdamin_database將數據呈現給超級管理員。 因此,我將有10000個app_databases和1個超級數據庫

我的缺陷在哪裏?這個計劃/結構中最薄弱的一點是由於服務器負載而導致應用程序無法使用?什麼是軌道的方式來做到這一點。 希望有經驗的人在這裏會對此有所考慮。 預先感謝您的回覆, 山姆

回答

4

如果我明白你的問題正確

我最近接到一個客戶 要求這需要我來部署 爲大約 超過10,000個分支機構同一個應用程序(一個實例爲每個辦公室)。

您違反了Web應用程序的基本規則。在一個地方主持並從任何地方訪問。我不確定爲什麼要在這些辦公室安裝每個應用程序實例,而只有一個可以從任何辦公室訪問的託管系統。

將您的應用程序託管在一個地方將使您的生活變得輕鬆,當涉及到維護和升級。

順便說一句,你將如何安裝10,000個應用程序?

我的建議是

擁有一個單一的Web應用程序,讓它通過你的客戶使用(在提到辦事處),並有良好的分層訪問控制系統,使您可以控制哪些數據訪問由用戶

由你不想做這個

我打算再拍應用程序, 將連接到這個 superdamin_database到 數據呈現給超級管理員的方式。這樣我就有 10000 app_databases和1個 superdamin_database

希望你有我的想法,

歡呼

sameera