Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多个web应用程序和数据库的体系结构_Php_Database_Postgresql_Architecture - Fatal编程技术网

Php 多个web应用程序和数据库的体系结构

Php 多个web应用程序和数据库的体系结构,php,database,postgresql,architecture,Php,Database,Postgresql,Architecture,我们过去只有一个web应用程序,但现在我们将其分解为多个。每一个都将打包为单独的产品(web应用程序),有些有共同之处,有些则没有 它最初是用php编写的,并使用Postgresql 8.4和CodeIgniter作为框架 我正在寻找一些关于如何设置多个web应用程序的好建议。它们都有自己独特的数据。数据库中的某些数据可能对某些应用程序通用,但并非所有应用程序都通用。所有的应用程序将在一台服务器上,并将有某种API来操作数据 我希望它的结构,使一个用户帐户可以访问他们购买的任何产品。 (有点像谷

我们过去只有一个web应用程序,但现在我们将其分解为多个。每一个都将打包为单独的产品(web应用程序),有些有共同之处,有些则没有

它最初是用php编写的,并使用Postgresql 8.4和CodeIgniter作为框架

我正在寻找一些关于如何设置多个web应用程序的好建议。它们都有自己独特的数据。数据库中的某些数据可能对某些应用程序通用,但并非所有应用程序都通用。所有的应用程序将在一台服务器上,并将有某种API来操作数据

我希望它的结构,使一个用户帐户可以访问他们购买的任何产品。 (有点像谷歌账户)

我不知道拥有多个数据库是个好主意,还是只拥有一个大数据库。 最终,我们将在一些视频和其他图像中使用S3

非常感谢您的想法和建议


更新:
谢谢你的回复。我可以看到数据库分布在很多驱动器上,因为我们在10年内不允许删除任何数据


此外,我们有很多图片(我忘了在原始问题中提到这一点),与flikr不同,但数量相当。我们现在有近300场演出,由于一项新的业务协议,我们每个月将迎来大约500名新会员。现在,图像存储在多个文件夹中,具体取决于它们的组。如果硬盘空间不足,在哪里/如何访问它们?我假设这就是负载平衡器的用武之地。

关于数据库,您可以在PostgreSQL中使用不同的模式来分离不同的应用程序。然后,您可以拥有一个数据库,其中一个应用程序只有一个模式,但许多应用程序也有许多模式


PostgreSQL可以处理非常大的数据库,几个TB根本不是问题。

如果您可以在跨多个应用程序查询时重复使用同一连接,并在没有任何故障的情况下加入它们,那么单个数据库可能会更干净。例如,在博客条目的边栏中添加相关产品或视频的列表,并通过通用标记系统将其绑定在一起。或者在阅读器或邮件线程中添加跟踪浪潮的功能,并方便地在它们之间参考电子表格和文档,以便进行谷歌比较


数据库的总大小不应影响任何内容,每个表都是独立于其他表的单独文件。冲突/混乱的表名可能是主要问题,因为在整个过程中都添加了新功能,但使用少量的名称空间会大有帮助。

通过单个数据库进行访问还可以简化其他过程,例如缓存连接的查询、执行事务、备份/回滚、管理相关表。