php - 在 PHP 中为多个客户端应用一个或多个数据库

标签 php performance zend-framework database-design

我正在用 ZF 编写 PHP 应用程序。客户将使用它向最终客户销售他们的产品。客户将在我的服务器上托管他们的应用程序,或者他们可以使用自己的。他们中的大多数将在我的服务器上托管此应用程序。

我可以一次为所有客户设计一个数据库,这样每个客户都将使用相同的数据库,当然产品等将分配给特定客户。微不足道。

我可以为每个客户使用单独的数据库,这样数据库结构会更简单。然后我可能会使用单独的子域,甚至可能使用文件位置,但这只是一个细节。

哪种解决方案的性能更好,差异有多大?你会选择哪一个?

最佳答案

我会为每个客户使用一个单独的数据库。它使备份和扩展更容易。如果您有一个大客户需要对架构进行一些自定义更改,您可以轻松完成。

如果一个客户需要您恢复他们的数据,那么使用单个数据库就很容易了。在共享数据库上,要困难得多。

如果大客户获得大量流量,您可以轻松地将它们放在另一台服务器上,只需进行最少的更改。

如果一个站点遭到破坏,您不会在一个地方拥有每个人的所有数据,损害只会减轻到被黑客入侵的站点。

如果可能的话,我肯定会建议每个客户使用 1 db。

关于php - 在 PHP 中为多个客户端应用一个或多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340951/

相关文章:

php - 在zend框架中调用其他 Controller 的成员函数?

php - Css Html JavaScript - 导航突出显示当前选定的菜单

php - 当数据已存在时,使用 Codeigniter 停止插入数据库

php - 处理数据库查询时如何混淆 JSON 响应?

zend-framework - Zend Framework 中的布局初始化特性

php - 设置 PostgreSQL 实例的时区

php - 记录未显示为已保存

python - 希望加快循环,包括 Pandas 操作

javascript - 为什么这段 Javascript 代码这么慢?

java - RMI 有多快?