如果您在选择保存上传到服务器的文件的最佳方式时犹豫不决,如果您习惯于将文件存储在文件系统中并认为文件系统是为了保存文件而创建的,或者如果您不担心在某些情况下使用数据库保存文件的优势,那么是时候重新考虑你的选择了。
文件系统
文件系统的优点
性能可能比在数据库中执行时更好。为了证明这一点,如果将大型文件存储在数据库中,则可能会降低性能,在文件系统中,访问文件非常简单,重量轻。保存文件并将其下载到文件系统中比在数据库中简单得多,因为简单的“另存为”功能可以帮助您。可以通过使用已保存文件的位置寻址URL来完成下载。迁移数据是一个简单的过程。您可以将文件夹复制并粘贴到所需目标位置,同时确保为目标提供写入权限。
文件系统的缺点
1)松散包装。关系映射中没有ACID(原子性,一致性,隔离性,持久性)操作,这意味着无法保证。考虑一种情况,您手动或通过一些***家伙从手中删除您的文件。您可能不知道该文件是否存在。
2)安全性低。由于您的文件可以保存在您应该提供写入权限的文件夹中,因此很容易出现安全问题并引发麻烦,例如******。如果您无法在安全性方面做出妥协,最好避免保存在文件系统中。
数据库
数据库的优点
ACID一致性,包括在文件存储在数据库外部时更新的回滚。文件将与数据库同步,不能孤立,这在跟踪事务时占上风。备份自动包含文件二进制文件。它比保存在文件系统中更安全。
数据库的缺点
可能必须将文件转换为blob才能将它们存储在数据库中。数据库备份将更加沉重和沉重。通常,RDBMS是由RAM驱动的,因此所有数据必须首先进入RAM。当RDBMS必须查找和排序数据时会发生什么?RDBMS跟踪每个数据页 - 即使读取和写入的数据量最少 - 它必须跟踪它是否在内存中,或者它是否在磁盘上,是否已编入索引或是否在物理上进行了分类等。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。