0

我对一组 asp.net MVC 网站有如下要求:

  1. 多个站点,使用相同的代码库,但每个站点将有一个单独的数据库(这是一个要求),用户将登录并输入数据。

  2. 超级用户的单个站点,他们登录并处理从每个单独站点聚合的数据。

随着我们向更多客户推广,第一点中的网站数量可能会增加。

我的问题是关于上述架构的 - 如何管理数据聚合,因为它需要是实时的。我们是在数据库级别(例如,本质上是跨各个站点数据库的联合视图)还是在应用程序级别维护它。

一些基础设施点:

  1. 我们可以完全控制数据库服务器和数据库命名。

  2. 所有这些网站都部署在我们管理的服务器上。

我很感激以前可能做过这件事的人的任何意见/想法。

4

1 回答 1

0

数据聚合是否必须是完全实时的,或者您可以几乎实时地侥幸吗?如果“几乎实时”是可以接受的,那么您可以编写一个服务应用程序,将站点数据库中的数据收集到您的单个中央数据库中。只要该过程连续运行并且您没有太多的站点来收集数据,延迟对用户来说应该或多或少是不可见的。

拥有一个从所有数据库中积累数据的视图听起来并不是一个好的解决方案。它不仅可能会很慢,而且您还必须在添加新站点时更新视图。

顺便说一句,超级用户网站的意图是什么?仅用于报告还是超级用户也应该编辑所有站点的数据?这可能会影响您选择哪种解决方案。

于 2009-11-24T09:40:40.120 回答