保存图片到数据库还是文件系统?

来源:百度文库 编辑:神马文学网 时间:2024/04/26 15:33:44
linuxman | 2005年01月03日, 20:47
在WEB系统设计中,经常遇到保存图片、多媒体资料等到文件系统还是数据库的问题。从一些讨论的结果看,保存大对象到数据库:
 
优点:
1,维护方便,备份、恢复只需要对付数据库即可。备份恢复虽然有些耗时,但我不用担心自己在文件系统上还拉了什么东西,非常方便;
2,文件元数据检索速度快,如果你需要列出所有文件名,数据库肯定比文件系统快;
3,发展方向,其实现在有postgresqlFS,是linux的一个用户层的文件系统扩展,和M$的winFS概念类似,整个文件系统就是一个数据库;
4,一定范围内,性能可以提高,尤其是大并发的范围,比文件系统性能好;
5,应用扩展更容易,因为程序处理的时候省缺了一系列FILE *的操作,数据库有现成的接口(还有处理片断的东西)。
缺点:
1,另外一些范围内性能会变差些,比如单用户大量文件的拷贝,差距大概在10%左右;
2,数据库大小增长比较明显,并且目前没有很好的扩展方式;文件系统可以利用NFS、NAS、SAN等方式扩展,而postgresql目前还是建议用RAID。不过这一点将来肯定会得到改进。
laser估计:
在100T以下的库(文档、图片),还是用数据库存储好,超过100T(比如存储监控视频流),可能文件系统更好些。
以上资料摘自:
http://laser.dyndns.zhengmai.net.cn/index.php?t=msg&th=5204&start=0&rid=&S=777821ad263a5b5cb0edcc07319e505c
另外的一个讨论在:
http://www.linuxtea.org/phpBB2/viewtopic.php?p=12912#12912