RDBMS与用于文件存储的文件系统

| 将整个文件存储在RDBMS中比将文件存储在文件系统中并参考RDBMS中的文件路径有什么优势吗? 哪种方法更快?我什么时候选择一个?使用哪个文件系统有关系吗? (例如ext3) 我不希望文件发生任何变化。这些文件可能是json或xml,也可能是pdf(可能性较小)。另外,可能不需要经常引用这些文件。它们仅用于存档。 谢谢。     
已邀请:
        鉴于文件不会更改,将文件保留在DBMS中的价值有限。将文件保留在DBMS中的主要优点是DBMS知道如何管理事务,但是如果文件不会更改,则该优点将变得微不足道。 在DBMS中存储文件的另一个优点是数据库备份将包含这些文件。如果文件分别存储,则必须备份文件的单独存储以及DBMS本身,以确保所有数据的安全。 在DBMS中存储文件的另一个优点是,数据库可以对文件的访问执行更精细的控制。 将文件存储在文件系统中的主要优点是很容易(更轻松)查看所拥有的内容。 第二个优点是您可以在DBMS外部备份或操作文件-尽管从某些角度来看这也是一个缺点。 如果文件存储在DBMS的Blob中,则普通的SQL客户端软件可以通过普通的SQL连接检索内容。如果SQL客户端软件与DBMS和文件不在同一台计算机上,则您必须担心客户端如何获取文件数据。 将文件与DBMS分开的另一个优点是可以将文件存储在DBMS机器之外。另一方面,这会使将文件“ \'装入DBMS \'变得复杂。 总体上,鉴于上述问题,使用“ DBMS中的文件”方法似乎具有一些优势。另一方面,许多人的确采用“文件系统中的文件”方法,并且他们幸免于难。可能是他们的SQL客户端与DBMS在同一台计算机上,因此文件传输问题不是无法克服的,但这是我最担心的问题。     
        如果文件大小小于1MB,则可以将它们存储在RDBMS中,否则可以考虑将它们存储在文件系统中。请参阅http://technet.microsoft.com/en-us/library/bb933993.aspx 将整个文件存储在RDBMS中是否比引用RDBMS中的文件路径将文件存储在文件系统中有什么优势?   如果钱等没问题,那么存储在RDBMS中是有好处的,因为您将获得RDBMS的所有好处,而且没有从存储在数据库中的引用中解引用文件的开销。 哪种方法更快?   关系数据库管理系统 我什么时候选择一个?   由实际考虑决定。如果文件> 1MB,请考虑使用文件系统。许多共享主机提供程序不启用FILESTREAM。 使用哪个文件系统有关系吗?   我对此一无所知。     
        为了补充乔纳森·莱夫勒的文章: DBMS处理BLOB的效率不如处理固定大小的对象,因此,可以说DBMS不喜欢大型对象。同样,许多DBMS在表之外的单独存储中存储BLOB。 如果您的目标是存档,则可以分开存储文件,以方便备份和检索。您也可以将文件移至某些后端存储,并使其“脱机”以释放服务器上的空间(如果需要)。     

要回复问题请先登录注册