c# – 软件架构和数据库设计:每个公司一个数据库/ Web应用程序或所有公司的一个数据库/ Web应用程序?

我正在从头开始设计一个Web驱动的SQL数据库应用程序.该应用程序将管理同一行业类型的客户的信息.换句话说,关于每个客户的信息(实体和它们之间的关系)从一个到另一个不会变化太多.但是,信息量取决于公司的规模.该应用程序可以托管在我们的服务器上或客户选择的任何地方.

我的第一个问题是:给出以下选项有哪些优缺点:

> A.管理多个客户
同一数据库中的信息;
> B.管理一个客户信息
数据库;所以每个客户都会有
自己的数据库;

我的第二个问题是:给出以下部署方法有哪些优缺点?

> A.每个客户端都有自己的服务器(节点);
> B.使用大型RAID驱动器和一个功能强大的多个网站服务器;

由于这些选择的决策会影响我的设计,我想从不同的角度了解优缺点,包括维护,成本(财务和时间)以及架构等等.

使用的技术:

>数据库:MS SQL
>平台:ASP.NET
>语言:C#

任何意见或建议都是最受欢迎的,

谢谢,

卡伦

最佳答案
我不建议给每个客户端自己的数据库.我计划为我当前的应用程序执行此操作,并将其与单个数据库进行对话.好的,因为我们现在有300个客户.你能想象管理300个数据库吗?每次升级时更新每一个?确保每个都是最新的,等等.

免责声明:在实践中,我们实际上有几个数据库.一些非常大的客户拥有自己的数据库,其他客户共享剩余的数据库.我想可能总共有7个数据库.

我们在一个功能强大的SQL服务器上有数据库.如果您有多个数据库并将它们放在不同的服务器上,那么您将面临一些服务器比其他服务器更繁忙且小型客户端未充分利用其服务器的风险.

转载注明原文:c# – 软件架构和数据库设计:每个公司一个数据库/ Web应用程序或所有公司的一个数据库/ Web应用程序? - 代码日志