Php 如果我需要在数据库中存储大量相关文件,我应该使用MongoDB吗?

Php 如果我需要在数据库中存储大量相关文件,我应该使用MongoDB吗?,php,mysql,mongodb,Php,Mysql,Mongodb,我开始做一个新项目。这个项目涉及到跟踪潜在的数千个文档。每个文档至少是表中的一行,包含标题、作者、描述等字段(主文档表) 但是,每个文档都可以或至少可以在文件系统中以几种不同的形式表示 例如: (1) 每个文档都有或至少应该有一个pdf版本, (2) 如果存在pdf,则将pdf的每一页提取到图像文件中,然后 (3) 每个文档的文本要么从PDF中提取,要么以其他方式派生 因此,系统中的每个文档实际上都有几个(可能是五十个或更多,取决于页数)与之关联的文件 要比我原来更简洁: 每个文档可以有一个或多

我开始做一个新项目。这个项目涉及到跟踪潜在的数千个文档。每个文档至少是表中的一行,包含标题、作者、描述等字段(主文档表)

但是,每个文档都可以或至少可以在文件系统中以几种不同的形式表示

例如:

(1) 每个文档都有或至少应该有一个pdf版本, (2) 如果存在pdf,则将pdf的每一页提取到图像文件中,然后 (3) 每个文档的文本要么从PDF中提取,要么以其他方式派生

因此,系统中的每个文档实际上都有几个(可能是五十个或更多,取决于页数)与之关联的文件

要比我原来更简洁:

每个文档可以有一个或多个与之关联的不同数据对象(pdf文件、JPG、文本)。但是数字和类型是任意的

最初,这些数据对象只是存储在服务器上的文件,使用目录结构来组织它们。示例:/documents/{id}/images、/documents/{id}/pdfs等。为了避免不断扫描文件系统,此目录结构在MySQL数据库中表示,使用大量的表和外键。获取文档的所有信息——与文档相关的每个文件——需要一个复杂的连接


像MongoDB这样的NoSQL解决方案会更好吗?我特别感兴趣的是最终将所有文件存储在数据库中,以更好地确保文档及其数据之间的完整性。

几千个文件,然后转移到NoSQL?让我们不要低估诸如MySQL、Postgres等RDBMS。您可以处理数百万行而不会出现任何问题……只要确保您的应用程序编写正确即可。

NoSQL解决方案是否适用于需要在数据库中存储任意数量的潜在较大对象以及一些描述性字段的情况(标题、作者等)GridFS正是为此而设计的——或者?好吧,这正是我要问的:——)我编辑了我的问题,让它更集中一点。对不起,我说得太详细了。在GridFS文档中有明确的记录。。