这两天这个问题一直困扰着我,理理思路不外乎这两种
(1)大对象存在数据库中
(2)大对象存在文件系统,数据库里放连接
第一种情况,优点是明显的,数据的一致性好,可维护性好,缺点是效率比较大,如果在1000万条的记录中,有十几个并发的话,数据库的效率比较低,当然第一种的优缺点与第二种正好相反,第二种的问题在于如何解决同步问题,即文件系统中的文件被删除掉,数据库的连接应失效.去网上看了一些参考整理后,我觉得这样也行,大家提提意见
大对象并入数据库的同时也存入文件系统中,并且数据库中保留文件系统中的此大对象的连接
这时用户请求时,先去文件系统中查找,如果有则直接下载,如果没有则把数据库中的大对象恢复到文件系统中并给用户下载.
另外种是数据库里不放备份,就直接放在文件系统中,而做一个文件监视器,当用户对文件系统的中文件有任何操作时,将直接更新数据库.目的就是保持一致性.
大对象的存储问题一直是个大问题,如果您有好的建议,不妨交流一下