一个站点:多个客户端:如何组织

时间:2015-07-02 18:24:06

标签: mysql database-design database-schema

我有一个网站(工具),我想用于多个客户端。当然,每个客户都有他的工具的单独登录,设置和内容。所以我的问题是:什么是最聪明,最安全,最快速的组织方式。我希望这对客户和我自己都很容易。

选项A :每个客户端都会获得一个子域,从而获得自己的网站+数据库。 Disavantage:当我对代码执行更新时,我必须编辑每个子域。改变数据库模型也是如此。优点:?

选项B :一个网站使用全局数据库进行登录,每个用户使用一个数据库。一旦用户登录,网站就会在全局数据库中检查他需要哪个客户端数据库并加载这个客户端数据库。优势:一个站点(=一个更新),单独的数据库(=更安全?)。缺点:改变数据库模型意味着我必须更新每个数据库。

选项C :一个使用一个数据库的网站。来自所有客户端的所有数据都存储在同一数据库中。优点:一个站点(=一个更新),一个数据库(=一个更新)。 Disavantages =数据库可以变大吗?如果数据库被盗,所有数据都在其中并且需要良好的编程以确保客户A只看到他的东西,而不是用户B,C等的信息。

选项D?

我用PHP编程,数据库是MySQL。

感谢任何反馈。

杰夫

1 个答案:

答案 0 :(得分:0)

多个子域不需要多个代码副本。

由于Cookie范围问题,使用子域通常不太安全。

我认真考虑将mysql作为你的数据库,而使用postgres,因为postgres是一个数据库集群,这意味着它在一台服务器上有多个真实的数据库。 mysql只有一个数据库(但是多个模式,称为“数据库”)。这样做的好处是数据库不能相互通信,但可以独立备份/恢复。