1

为一个客户开发一个应用程序,我将它组织成两个数据库,一个用于公共访问,一个用于后端计算、分析和访问足够特权的用户。此外,后端数据库很大,所以我也希望通过减少对巨型数据库的调用来加快公共体验。实现它不是问题。一切正常。最终我希望将后端和前端划分为子域,并通过 curl 后端进行通信以获得 XML 响应。

我在这里阅读了很多关于在单个应用程序中连接到多个 MySQL 数据库的帖子,并且大多数人在没有任何技术理由的情况下建议不要这样做。我没有接受过数据库架构或网络安全方面的正式培训,所以我希望有人能向我解释为什么在单个应用程序中连接多个数据库是个坏主意。如果这是一个很大的禁忌,最好的选择是什么?

4

2 回答 2

0

因此,我已经很久没有提出这个问题了,虽然它含糊不清且被误导,但它最近获得了支持。所以也许像 12 年 5 月傻傻的染色草坪这样的新手也会有同样的好奇心。

在应用程序中使用多个数据库连接没有一般的正面或负面的影响,它始终是一个特定于案例的问题。我认为对初学者的很多误解源于使用 WordPress 或类似的东西,它们完全依赖于单一的全球连接。您可能需要访问应用程序中的不同数据库的原因有很多;这就是为什么像 Doctrine 和 Propel 这样的 ORM(是的,我知道,我偏爱 Symfony)使得在应用程序中配置多个连接变得如此容易。

如果某人——只熟悉 MySQL 和全局数据库——真正有兴趣了解数据库架构和不同数据库引擎的应用,她/他应该阅读 NoSQL。他/她应该设想一个用例,其中应用程序的某些部分需要 MySQL 的可靠性、严格定义和关系功能,而其他部分将受益于key=>value配对的速度和简单性,而不必维护 ACID。

简而言之,数据库不是应用程序,应用程序不应与“数据库”紧密联系。

于 2013-09-19T20:49:56.063 回答
0

是的,在单个应用程序中使用多个数据库有优势也有劣势......

最好的是,当您使用多个数据库时,您的安全性很高..

最糟糕的是你必须同时管理两者,所以如果有任何错误,那么解决这个问题就很困难。

于 2012-05-17T15:28:21.597 回答