何时使用GridFS

  • 大量文件。GirdFS在处理大数据量(几千)文件时比很多文件系统表现要好。
  • 用户上传的文件。当用户上传文件时你可能会有大量的文件,并且想对他们进行复制然后备份。GridFS是保存他们的理想途径,这样你就可以想管理普通数据那样管理这些文件了。你还可以使用关键字用户,上传时间等到数据仓库中直接查询,不需要通过间接层。
  • 经常改变的文件。如果你有一些确定会经常改变的文件-把他们存储在GridFS是有意义的,这样你可以在一个地方修改,然后所有的客户端会获取这些更新。它比存储在目录树中也要好一些,这样你就不用部署应用来更新文件了。

何时不使用GridFS

  • 少量的不会变化的文件。如果你有一些网站上的小文件(js,css,images),直接使用文件系统可能更加简单。
  • 如果你需要对二进制对象做原子性更新,并且对象大小在你使用Mongodb版本的限制之下(1.8版本是16MB),那么你可以考虑将该对象保存在单个文档中。这个可以使用BSON二进制类型来完成。到你的驱动文档中查找关于这种类型的详细信息。

转载于:https://www.cnblogs.com/xinghebuluo/archive/2011/12/16/2289899.html

mongodb指南(翻译)(十六) - developer zone - 何时使用GridFS相关推荐

  1. 开发指南专题十六:JEECG微云快速开发平台Excel导出

    开发指南专题十六:JEECG微云快速开发平台Excel导出 14.3.  Excel导出 导出工具类ExcelExportUtil 提供两个函数 //创建多个Sheet public static H ...

  2. 游戏感:虚拟感觉的游戏设计师指南——第十六章 Raptor Safari

    这是一本游戏设计方面的好书 转自天:天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第十六章 Raptor ...

  3. Gradle2.0用户指南翻译——第六章. 构建脚本基础

    翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tre ...

  4. android开发菜单,Android学习指南之十六:Android菜单详解

    Android用户界面的组成除了View外,还包括菜单和对话框,本节我们先来学习一下菜单的使用方法. 菜单Menu是Android用户界面中最常见的元素之一,使用非常频繁.Android菜单主要分为三 ...

  5. Windows程式开发设计指南(十六)调色盘管理器

    16. 调色盘管理器 如果硬体允许,本章就没有存在的必要.尽管许多现代的显示卡提供24位元颜色(也称「true color」或「数百万色」)或16位元颜色(「增强色」或「数万种颜色」),一些显示卡-尤 ...

  6. Table 组件使用指南之十六:动态增加Column

    运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1. 本实验来自一个客户的真实需求. 由于种种原因,Ta ...

  7. 高速PCB设计指南(十六)

    第二篇  实现PCB高效自动布线的设计技巧和要点 尽管现在的EDA工具很强大,但随着PCB尺寸要求越来越小,器件密度越来越高,PCB设计的难度并不小.如何实现PCB高的布通率以及缩短设计时间呢?本文介 ...

  8. Gradle 2.0 用户指南翻译——第五十六章. 多项目构建

    本文禁止w3cschool转载! 翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc . 本文翻译所在分支:https://github.com/m ...

  9. Gradle 1.12用户指南翻译——第五十六章. 多项目构建

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

最新文章

  1. ”舍得“大法:把自己的优点当缺点倒出去
  2. 软件吃软件,编程工作会越来越多吗?
  3. 【算法】Kruskal算法(解决最小生成树问题) 含代码实现
  4. redis开启redis_Redis聚类
  5. innerHTML和value的区别
  6. mysql 1066解决方法_MySQL查询语法帮助:错误#1066-表格/别名不唯...
  7. 8 SAP QUERY定制报表操作手册 SQVI-推荐
  8. 差分进化算法原理及matlab代码实现
  9. Android 动态改变布局属性RelativeLayout.LayoutParams.addRule()
  10. java静态和动态的区别是什么_java中静态资源和动态资源的区别
  11. 110 同步、异步、阻塞、非阻塞
  12. python设计选择题代码_《Python程序的设计》试题库完整
  13. java语言程序设计第三版电子书百度云_Java语言程序设计(基础篇)(原书第10版) 完整版 中文pdf扫描版[259MB]梁勇...
  14. 【SSM】手动SQL分页和PageHelper插件分页
  15. 房友手机服务器安装文件,房友软件服务器地址
  16. STM32基于Proteus虚拟仿真电源设置
  17. 平安的互联网布局新探索 平安天下通引领金融服务再升级
  18. Acwing 378.骑士放置(二分图的最大独立集)
  19. Swift - 判等
  20. JavaWeb企业级项目中接入顺丰官方API实现物流实时查询(亲测有效)

热门文章

  1. 在生意不好做的情况下, 你会选择坚持,还是去重新找一个新行业?
  2. As we all know, Java 8 provides many new features
  3. SQL Server中的列存储索引
  4. sql运算符_SQL LIKE运算符概述
  5. azure机器学习_Azure机器学习中的数据清理
  6. 如何在SQL Server中分析存储子系统性能
  7. 201671010430 司昕劼 实验十四 课程学习总结
  8. vue HTTP 请求(vue-resource)
  9. [BZOJ5286][HNOI2018]转盘(线段树)
  10. sql 两大类 DDL数据定义语言 和DCL数据控制语言