互联网服务MongoDB

什么样的场景下才适合选用mongodb数据库,如果我所存的数据多为图片或者影像,mongodb数据库是否合适?

如果对于医院等类似机构,存放的个人照片或者其他的影像资料较多,mongodb数据库性能和功能上是否合适呢?

参与9

2同行回答

TFTF  技术总监 , 上海锦木信息
小于16MB的文件可以直接存在document里面(BinData)。大于16MB的使用GridFS存放,文件会被切分成255kB的chunk,在GridFS里面除了原文件的集合,还有一个集合用来存放metadata。如果文件数量超过了OS文件系统的上限,可以考虑将这些文件存入MongoDB如果需要访问文件的部分内容,使用Gr...显示全部

小于16MB的文件可以直接存在document里面(BinData)。大于16MB的使用GridFS存放,文件会被切分成255kB的chunk,在GridFS里面除了原文件的集合,还有一个集合用来存放metadata。

  • 如果文件数量超过了OS文件系统的上限,可以考虑将这些文件存入MongoDB
  • 如果需要访问文件的部分内容,使用GridFS不需要将全部文件加载进内存,例如视频快进,定位到相应的chunk后,只加载那1个chunk视频就可以播放起来,剩下来在后台慢慢加载。
  • 借助MongoDB的复制集将这些文件在不同的节点(数据中心)之间进行自动的同步。

注意:在GridFS中,由于文件是被切割成chunk后存入,如果有文件update的场景,不能保证整个文件的原子性;变通的方法是保存多个版本的文件,在文件写入完成后,将metadata指向最新的版本。

收起
IT咨询服务 · 2018-04-24
浏览2340
彬彬 邀答
liucj2004liucj2004  其它 , undefined
非结构化的文本,经常需要迭代的表结构,单机数据量无法承载的场景适合选用mongodb一般来说,除了强事务,强关联的程序外,都适用MongoDB数据为图片和影像时,不建议把数据存在数据库中(包括mongodb),因为会造成数据库难以管理,而且即使适用GridFS,也不推荐。一般来说少量图片可以放在Gri...显示全部

非结构化的文本,经常需要迭代的表结构,单机数据量无法承载的场景适合选用mongodb
一般来说,除了强事务,强关联的程序外,都适用MongoDB
数据为图片和影像时,不建议把数据存在数据库中(包括mongodb),因为会造成数据库难以管理,而且即使适用GridFS,也不推荐。一般来说少量图片可以放在GridFS,但是大量后,会遇到性能损失。
最后,如果存图片建议使用分布式存储,比如说ceph,glusterfs,模式使用对象存储,是更好的解决方案

收起
农业其它 · 2018-05-06
浏览2290

提问者

jwhdhr
软件开发工程师农商银行
擅长领域: 数据库中间件消息中间件

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-04-22
  • 关注会员:3 人
  • 问题浏览:2991
  • 最近回答:2018-05-06
  • X社区推广