Php 用于客户端的多个数据库

Php 用于客户端的多个数据库,php,mysql,database,database-design,Php,Mysql,Database,Database Design,我需要MySQL数据库方面的帮助 我正在构建一个客户管理系统,其中1000多个用户将使用该系统,每个用户将拥有自己的客户端,而这些客户端又可以超过100个或更多(无限)。我在想,我应该在MySQL中有单独的数据库,还是为用户提供一个数据库?因此,当用户创建自己的帐户时,它将自动仅为该用户创建所有数据库文件,而另一个用户将拥有另一个单独的数据库,依此类推 请帮助。我认为您描述的问题称为“多坦能”体系结构 没有正确或错误的答案——有一大堆考虑因素 数据大小绝对是一个问题,但您提到的数字还不够大,不足

我需要MySQL数据库方面的帮助

我正在构建一个客户管理系统,其中1000多个用户将使用该系统,每个用户将拥有自己的客户端,而这些客户端又可以超过100个或更多(无限)。我在想,我应该在MySQL中有单独的数据库,还是为用户提供一个数据库?因此,当用户创建自己的帐户时,它将自动仅为该用户创建所有数据库文件,而另一个用户将拥有另一个单独的数据库,依此类推


请帮助。

我认为您描述的问题称为“多坦能”体系结构

没有正确或错误的答案——有一大堆考虑因素

数据大小绝对是一个问题,但您提到的数字还不够大,不足以产生很大的差异。MySQL中的一百万行是微不足道的(只要您可以使用索引)

其他考虑:

  • 可维护性:拥有一个“大型”数据库意味着新版本只需迁移一次——添加列或表、创建新索引等在概念上可能要容易得多,因为您不必为每个客户端重复相同的脚本。然而,有些操作可能会让所有客户离线数小时;这可能是件坏事
  • 版本控制:如果您打算随着时间的推移升级解决方案,例如添加新功能等,那么拥有一个数据库意味着您必须同时升级所有客户机,无论他们是否愿意。它减少了工作量和复杂性,但有些客户端可能还没有准备好升级(例如,如果他们正在从系统导出数据,而您正在更改架构)
  • 服务级别:许多SaaS提供商提供不同的服务级别。您可能会考虑共享基础设施的“青铜”和“专用的基础设施”“黄金”。
  • 行长度并不是决定系统性能的唯一因素——如果让用户创建自己的报告,可能会降低系统速度;您可能需要在一夜之间运行复杂的脚本来归档数据等。一旦这些问题变得无法解决,就可能需要对客户进行分区
100000条记录不是很多数据。拥有独立的数据库是疯狂的。我使用的数据库有1M+条记录,没有问题,你应该为每个用户使用相同的数据库,使用更多的数据库会造成混乱。我会把所有的数据库都放在同一个数据库中,拥有多个数据库不会提高效率。数据库只是对一些表进行分组的一种逻辑方式,因此在您的情况下,所有内容都是相关的,所以应该放在数据库中。如果你在一个有几百万条记录的数据库上进行简单的选择,你真的需要担心。另外,从维护的角度来看,如果12个月后,你决定稍微改变它的结构,而不是改变一个数据库模式,那么你现在已经卸下了数据库的负载,而现在数据库的结构是错误的我可能需要更多关于mysql数据库的信息