论坛首页 综合技术论坛

二进制数据的存储问题

浏览 3847 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-13  
二进制的附件的存储有两种方式,一种是直接存放在数据库中,另一种是文件系统

都放在数据库的方案在设计实现要简单些(使用Hibernate),数据的管理,迁移也很方便
根据这个帖子(http://www.iteye.com/topic/27917)的讨论,我们使用专门的附件表存放二进制数据可以避免一些大字段带来的损失

文件系统的方案在程序上要稍微复杂,数据迁移也稍复杂
但效率略高

在应用系统有附件上传很多(例如每天都有上百的1M左右附件上传),但附件的下载要求并不高的情况下

我个人倾向于都存放在数据库方案,但对将来的风险有所顾虑,所以请教大家,那种方式更好些?
   发表时间:2006-11-15  
数据迁移时,是否复杂,要看情况而定。

0 请登录后投票
   发表时间:2006-11-15  
两种方式还有一点区别,存在文件系统中的文件,可能会有数据完整性的风险。比如你在外部删除了文件,但数据库里不会知道已经删除了。

另外,你的标题应该改一下,不是二进制数据的存储问题,而是大对象数据在数据库的存储方式。
0 请登录后投票
   发表时间:2006-11-16  
没理由什么问题都让同一个系统来搞定,有一个东西叫做 rsync ,专做文件系统的同步,正向反向,随你怎么搞。正好多一个备份。

至于外部删除?那叫天灾人祸,谁吃饱了撑着没事跑到服务器上去删文件玩?

也就是说,db是你的index,fs是你的storage。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics