软件即服务 - 数据库

时间:2009-09-18 20:23:53

标签: sql-server saas database-agnostic

如果我要构建一个CRM Web应用程序作为会员服务销售,那么设计和部署数据库的最佳方法是什么?

我是否有一个数据库,每个表包含100个记录,或者为不同的客户端部署多个数据库?

使用单个数据库真的是一个问题,因为我认为像Flickr这样的网站会使用它们吗?

3 个答案:

答案 0 :(得分:6)

多个客户端称为“多租户”。例如,请参阅Microsoft的这篇文章“Multi-Tenant Data Architecture”。

答案 1 :(得分:3)

在像CRM系统这样的情况下,您可能需要为每个客户分别设置数据库实例。

我这样说是因为如果您想要更大的客户,大多数公司都会制定有关客户数据的安全政策。如果您将客户数据存储在与另一个客户相同的数据库中,则存在将一家公司的机密数据暴露给另一家公司(竞争对手等)的风险。

像Flickr这样的网站不必担心这个问题,因为我们大多数关于互联网的人对我们的个人数据没有这么严格的政策。

答案 2 :(得分:0)

长期来说,维护一个包含多个客户端数据的数据库是最容易的。考虑部署,备份等。但是,这并不会使您无法拥有此数据库的多个实例,每个实例都包含完整客户端数据集的子集。在您确定产品的有用性/可取性之后,我建议增加数据库的数量。如果您没有流量,则无需拥有复杂的基础设施......

所以,我只是在相关表中放置一个客户端ID,并在客户端4进入并且新部署的范围是一个插入语句时微笑。

相关问题