如果我正在构建一个 CRM Web 应用程序以作为会员服务进行销售,那么设计和部署数据库的最佳方法是什么?
我是否有 1 个数据库,每个表包含 100 条记录,或者为不同的客户部署多个数据库?
因为我相信像 Flickr 这样的网站使用它们,所以使用单个数据库真的有问题吗?
如果我正在构建一个 CRM Web 应用程序以作为会员服务进行销售,那么设计和部署数据库的最佳方法是什么?
我是否有 1 个数据库,每个表包含 100 条记录,或者为不同的客户部署多个数据库?
因为我相信像 Flickr 这样的网站使用它们,所以使用单个数据库真的有问题吗?
多个客户端称为“多租户”。例如,请参阅 Microsoft 的这篇文章“多租户数据架构”。
在像 CRM 系统这样的情况下,您可能需要为每个客户拥有单独的数据库实例。
我这么说是因为如果你想要更大的客户,大多数公司都有关于客户数据的安全策略。如果您将他们的客户数据与另一位客户存储在同一个数据库中,您将面临将一家公司的机密数据暴露给另一家公司(竞争对手等)的风险。
像 Flickr 这样的网站不必担心这一点,因为我们大多数人在互联网上都没有关于我们的个人数据的严格政策。
从长远来看,维护一个包含多个客户数据的数据库是最容易的。考虑部署、备份等。但是,这并不能阻止您拥有该数据库的多个实例,每个实例都包含完整客户端数据集的一个子集。在确定产品的有用性/可取性之后,我建议增加数据库的数量。如果您没有流量,则不需要复杂的基础架构......
因此,我只需在相关表中添加一个客户端 ID,并在客户端 4 进来时微笑,并且您的新部署的范围是一个插入语句。