超过10,000个ERP实例的数据库策略

时间:2010-10-24 17:19:37

标签: mysql ruby-on-rails

我有一个中等大小的铁路ERP应用程序,有大约80个表。我使用MySQL。我最近收到了一个客户要求,需要我为大约10,000个办公室部署相同的应用程序(每个办公室的一个实例)。中央办公室(superadmin办公室)必须能够查看所有这些办公室的详细信息。

与客户交谈后,我可以想出: 为10,000个办公室配置应用程序,superadmin需要访问的数据将有一些新模型。这些模型的表格将在另一个数据库(superdamin_database,而不是特定办公室使用的数据库)中,将向超级管理员报告的数据将被写入

我打算制作另一个连接到这个superdamin_database的应用程序,将数据呈现给超级管理员。 所以我将有10000个app_databases和1个superdamin_database

这个计划中的缺陷在哪里?这个计划/结构中最弱点是什么会导致应用程序因服务器负载而无法使用?什么是rails方式来做到这一点。 希望这里有经验的人会考虑到这一点。 在此先感谢您的回复, 萨姆

2 个答案:

答案 0 :(得分:4)

如果我理解你的问题

  

我最近收到了一位客户   需要我部署的要求   大致相同的申请   10,000个办事处(每个办事处一个实例)   办公室)。

您违反了Web应用程序的基本规则。主持人在一个地方,并从任何地方访问。我不确定您为什么要在这些办公室安装每个应用程序实例,而是拥有一个可以从任何办公室访问的托管系统。

将您的应用程序托管在一个地方将使您的生活变得轻松,无论是维护和升级。

BTW你到底要安装10,000个应用程序?!

我的建议是

拥有一个单独的Web应用程序并让它由您的客​​户端(在上述办公室中)使用,并拥有一个良好的分层访问控制系统,以便您可以控制哪个用户访问哪些数据

通过这种方式你不想这样做

  

我打算制作另一个应用程序   会连接到这个   superdamin_database来呈现   数据到超级管理员。所以我会   10000 app_databases和1   superdamin_database

希望你明白我的想法,

欢呼声

sameera

答案 1 :(得分:0)