【发布时间】:2011-05-19 11:07:38
【问题描述】:
我正在用 ZF 编写一个 PHP 应用程序。客户将使用它向最终客户销售他们的产品。客户将在我的服务器上托管他们的应用程序,或者他们可以使用自己的。他们中的大多数会在我的服务器上托管这个应用程序。
我可以一次为所有客户设计一个数据库,因此每个客户都将使用相同的数据库,但当然产品等将分配给特定客户。微不足道。
我可以为每个客户使用单独的数据库,这样数据库结构会更简单。然后我可能会使用单独的子域,甚至可能使用文件位置,但这只是一个细节。
哪种解决方案的性能更好,差异会有多大?你会选择哪一个?
【问题讨论】:
-
我没有详细解释你应该做什么,但你不应该做的是创建多个本质上是重复的数据库。原因是推出更新/错误修复变得非常困难,造成碎片和支持遗留问题。这些都是阻碍未来高效开发的开销。
-
@约翰·斯图尔特。但它们基本上都是应用程序的唯一实例,因此它们应该有自己的数据库。如果您有 10 个 Magento 电子商店,它们都将拥有自己的数据库。您不打算将它们全部放在一个数据库中吗?一个客户端泄露了数据库服务器的登录信息,所有客户端的数据都会被泄露。
-
+1 用于引发意见之火。 :) 这个问题很重要。要想找到灵丹妙药的答案取决于太多的小问题。
标签: php performance zend-framework database-design