0

是否有任何可用资源可以指导某人在开始制作托管应用程序之前如何“思考”托管/云解决方案的各种组件?如果这没有意义,我想问的是,是否有任何指导书籍/网站说明在制作云应用程序时需要考虑哪些事项?

我正在尝试制作一个托管的 CRM 风格的软件应用程序,它将为数百名客户提供服务。该应用程序由具有许多表和 ColdFusion、HTML5、CSS、Javascript 前端的 SQL 服务器数据库提供支持。如果我在每个客户端站点安装此应用程序及其组件,那么每个安装对于该客户都是唯一的。但不知何故,我必须在令我困惑的云中复制这种独特性。

到目前为止,我只想到了两件事:

  1. SQL server 中每个客户需要一个唯一的数据库
  2. 需要在 Web 应用程序中更改每个客户的数据库连接字符串

当我试图设想如何设计应用程序来服务这么多不同的客户时,我的思维过程陷入了困境。即使所有客户使用的应用程序都是相同的(相同的数据库表,相同的前端),他们存储和检索的数据将是特定于他们的。所以我在想,每个客户肯定都需要为他们创建一个单独的数据库吗?为每个客户创建一个副本数据库是否可行?如果我需要更新一些表或添加一个新表,我将如何为数百个不同的数据库执行此操作?

从前端我猜每个唯一的客户登录都会更改数据库连接字符串,以便他们只能访问他们的数据库。除此之外,我想不出任何其他需要根据客户进行更改的内容。

当一个新客户想要注册时,我需要清楚我需要为他们创建什么才能访问应用程序。我想这最终是我需要考虑的,但我被困住了。

如果有人可以提出一些想法,或者是否有关于这种事情的书或网站可以指点我,我将非常感激。

编辑: 我在看一篇关于 Salesforce.com 的文章,上面写着

"In order to ensure privacy of data for each user and give an effect of each having their own database, the data from different users are securely isolated from one another."

任何人都知道这是如何实现的或如何完成的?

4

1 回答 1

0

在这里找到了一些很棒的信息。它被称为多租户数据库设计,似乎是一个常见的话题。一旦我设计好数据库,那么应用程序就可以很好地放在上面。

https://dba.stackexchange.com/questions/1043/what-problems-will-i-get-creating-a-database-per-customer

于 2013-10-23T13:30:48.210 回答