我正在为文件(图像、文档等)设计一个servlet(或Struts2中的操作)。下载。但我在想,将文件保存在文件系统和数据库中,哪种方法更好?只保留文件的路径,还是像BLOB一样将文件保存在数据库中。我知道当我在数据库上查询时,blobs是比较慢的,但如果我把它放在数据库里,它会让我更容易备份数据,并保证一致性。有什么建议吗?
发布于 2011-07-25 05:03:16
我从来没有用过斑点。例如,我通常只是将用户上传的照片存储在目录中。我没有看到使用BLOB存储文件的太多理由。你说它可以更容易备份-相反,这可能会变得非常有问题,至少在我们的情况下,因为我们有许多GB的照片,但数据库必须保持相当小,以便能够经常备份它和使用PHPMyAdmin。
发布于 2011-07-25 04:51:29
我赞成将数据存储在磁盘上,因为有一个重要的因素:性能。剩下的就是你的偏好了。这是一个比较好的link。
发布于 2011-07-25 05:00:41
我认为你给出了一个很好的解决方案:将文件本身存储在文件系统中,引用存储在数据库中。在关系数据库中存储媒体文件不会给你带来很大的好处,但会增加数据库容量并降低性能(正如@Amir Raminfar所提到的)。
也许现在最好的方法是将文件存储在键值存储或所谓的NoSql数据库中,例如Casandra或Redis。
https://stackoverflow.com/questions/6809588
复制相似问题