Php 使用Zend的多个数据库
我正在构建一个应用程序(使用zend框架),在这个应用程序中,我们将有多个客户端登录并使用该应用程序,每个客户端都将存储大量关于其用户的数据(顺便说一句,我使用的是MySQL) 基本上我想知道两件事:Php 使用Zend的多个数据库,php,mysql,database-design,zend-framework,zend-db,Php,Mysql,Database Design,Zend Framework,Zend Db,我正在构建一个应用程序(使用zend框架),在这个应用程序中,我们将有多个客户端登录并使用该应用程序,每个客户端都将存储大量关于其用户的数据(顺便说一句,我使用的是MySQL) 基本上我想知道两件事: 拥有多个数据库,每个客户机一个(即ipd_client_CLIENTNAME)和相同的表是一个愚蠢的想法吗?或者,如果我们有50个客户机,他们的数据库中有20000个用户的数据,那么它的响应速度会更快(比将所有数据都放在一个数据库中)吗? 我已经成功地构建了相同的系统,但都在一个数据库上,我的模型
任何帮助都将不胜感激,谢谢 我将使用解决方案2,将多个表与mit MySQL主/从复制相结合,用于客户端。 如果要使用不同的数据库,可以使用Zend Framework的本机函数:
然后通过某种前缀为客户端选择一个。我将使用解决方案2,将多个表与mit MySQL主/从复制相结合,用于客户端。 如果要使用不同的数据库,可以使用Zend Framework的本机函数:
然后通过某种前缀为客户选择一个。尽管你接受了这个答案,我还是不同意。我认为拥有多个数据库会更容易管理 教程使用多个数据库的方式比需要的复杂得多。我这样做的方法是在根文件(index.php?)中简单地定义客户机名称,然后我的引导程序使用这个常量加载到正确的ini文件中 如果您从分离开始,那么就可以继续使用相同的原则在单独的结构中缓存数据,这要容易得多
使用单独的数据库将使管理单个客户更加容易。尽管你接受了这个答案,但我不同意。我认为拥有多个数据库会更容易管理 教程使用多个数据库的方式比需要的复杂得多。我这样做的方法是在根文件(index.php?)中简单地定义客户机名称,然后我的引导程序使用这个常量加载到正确的ini文件中 如果您从分离开始,那么就可以继续使用相同的原则在单独的结构中缓存数据,这要容易得多
使用单独的数据库将使管理单个客户机更加容易。虽然ZF支持多个数据库连接,但我不会在这种特殊情况下使用它们 对我来说,在每个数据表中存储一个客户机id(或站点id)并使用它进行筛选更有意义。重复使得在应用程序范围内进行更改非常困难。每当我看到这样的动态命名表时,我通常认为这是糟糕的设计
对于缓存,只需在任何缓存键前面加上客户端标识符。虽然ZF支持多个数据库连接,但在这种特殊情况下,我不会使用它们 对我来说,在每个数据表中存储一个客户机id(或站点id)并使用它进行筛选更有意义。重复使得在应用程序范围内进行更改非常困难。每当我看到这样的动态命名表时,我通常认为这是糟糕的设计
对于缓存,只需在任何缓存键前加上客户端标识符。为了让您更好地了解我在做什么,我正在构建类似于MailChimp的东西,因此我们使用该应用程序的客户端将存储有关其订户的各种信息(当我使用术语“用户”时)上面,我指的是订阅者,所以他们不是我们系统上的用户,只有我们的客户才是)。为了让你更好地了解我在做什么,我正在构建类似于MailChimp的东西,所以我们使用应用程序的客户将存储关于订阅者的各种信息(当我使用“用户”这个术语时)以上,我指的是订户,所以他们不是我们系统的用户,只有我们的客户才是)。谢谢ArneRie!我想,如果使用多个数据库(就性能而言)没有真正的优势,那么我将继续使用单数据库、多表的方法。谢谢ArneRie!我想如果使用多个数据库(就性能而言)没有真正的优势,那么我将继续使用单数据库、多表方法。