【问题标题】:Web app - one db per customer or one for all of them? [duplicate]Web 应用程序 - 每个客户一个 db 还是所有客户一个? [复制]
【发布时间】:2015-04-15 04:10:07
【问题描述】:

我必须为我的一个客户制作一个电子邮件营销应用程序,在这个应用程序中,每个客户平均需要管理大约 10 万个联系人列表。

因此,我应该为每个客户创建一个数据库并复制架构或将所有客户合并到一个数据库中。例如:一张表中的所有联系人,并用customer_id区分它们

我想知道制作一个每个客户都需要管理大量收银机的网络应用程序的最佳建议是什么。

也有可能一些客户(大公司)需要私人安装该应用程序。

请告诉我您在此类应用中的体验。

谢谢。

【问题讨论】:

标签: php mysql database database-schema


【解决方案1】:

我的建议是使用一个快速的关系数据库,这样数据就可以集中起来并随时可以查询。我会进一步推荐 Postgres,因为它具有 UID'saudit triggerstable partitioning 等不错的功能。

将所有客户和客户保存在同一个数据库中还可以让您有机会轻松对整个客户的趋势进行大数据分析。将其与在单个数据库上为每个客户运行分析相比……那将是一场噩梦。

Postgres 还提供一种将表格组织成“模式”的便捷方式。您可以为您的客户和所有与客户相关的信息提供一个架构,为您的客户和所有客户相关信息提供一个架构,一个用于计费信息的架构,一个用于您的数据分析结果的架构,等等。

【讨论】:

    【解决方案2】:

    共享集中式数据库几乎总是最佳途径。尝试单独处理即使是中等数量的客户也是一场噩梦。想想代码更新、补丁、修复等。如今的数据库非常强大,可以轻松处理您所引用的记录数量,因此不必担心。自 90 年代后期以来,我一直在构建这些类型的系统,并且不止一次地思考过这种确切的情况。肯定是单个共享数据库。祝你好运!

    【讨论】:

      猜你喜欢
      • 2017-05-03
      • 1970-01-01
      • 2010-10-11
      • 2012-02-25
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多