gpt4 book ai didi

php - 多站点系统的数据库结构 - 数据库和 PHP

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:32 25 4
gpt4 key购买 nike

我正在使用的系统结构如下。鉴于我打算使用 Joomla 作为基础。

enter image description here

a(www.a.com)、b(www.b.com)、c(www.c.com) 是允许用户搜索预订的搜索门户。

x(www.x.com),y(www.y.com),z(www.z.com)为用户预订的酒店。

  • www.a.com 的用户只能搜索位于www.x.com
  • www.b.com 的用户只能搜索位于www.x.com,www.y.com
  • www.c.com 的用户可以搜索位于www.x.com, www.y.com, www.z.com

所有 a,b,c,x,y,z 都运行相同的系统。但他们应该有单独的域。因此,根据我的发现和研究,架构应该如上所示,其中 API 集成了所有数据库调用。

这里只显示了 6 个实例(a、b、c、x、y、z)。最多可以有 100 个不同的搜索组合。

我的问题,

我应该为整个系统维护一个数据库吗?如果是这样,我如何在需要时拔掉一个实例(例如:从系统中删除 www.a.com 或从系统中删除 www.z.com)?既然我用的是mysql,会不会因为记录的数量而给系统带来麻烦?

如果我为每个实例维护单独的数据库,我该如何进行搜索?如何将所需的记录整合为一个并进行搜索?

是否可以使用不同于上述的数据库方法?

最佳答案

您描述的问题是“ Multi-Tenancy ”——这是一个相当棘手的问题,但幸运的是,其他人已经写了一些 useful approaches . (虽然链接指向 Microsoft,但它适用于大多数 SQL 环境,但细节除外)。

您的情况的权衡是:

  • 您酒店的数据是否适合单一架构?他们的“空缺”记录是否有相同的字段?
  • 会有多少家酒店? 3 个独立的数据库是可以管理的; 30 可能不是; 300肯定不是。
  • 数据库会增长到多大?有多少空缺记录?
  • 数据结构随时间变化的可能性有多大?一家酒店需要改变而其他酒店不需要的可能性有多大?

到目前为止,管理和开发最简单的是“单一数据库”模型,但前提是数据在架构中适度同质,并且您可以以合理的性能查询数据。我不担心将大量记录放入 MySQL - 它的扩展性非常好。

在这样的设计中,您将在查找表中将“门户”映射到“酒店”:

门户酒店访问

PortalID   HotelID
-----------------
A X
B X
B Y
C X
C Y
C Z

关于php - 多站点系统的数据库结构 - 数据库和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com