这是我阅读《MongoDB权威指南》的学习笔记,前七章侧重在开发者角度谈MongoDB,后面才是运维管理者角度
使用GridFS存储文件有如下原因:
开发者角度到此为止,下一篇是运维角度的学习
一. 理论部分
入门
- 文档:多个键及其关联的值有序地放置在一起便是文档
- 集合:一组文档
虽然子集合没有特别的地方,但还是很有用,很多MongoDB工具中都包含子集合
- GridFS是一种存储大文件的协议,使用子集合来存储文件的元数据,这样就与内容块分开了
- MongoDB的Web控制台通过子集合的方式将数据组织在DBTOP部分
- 绝大多数驱动程序都提供语法糖,为访问指定集合的子集合提供方便。例如:在数据库shell里面,db.blog代表blog集合,db.blog.posts代表blog.posts集合
在MongoDB中使用子集合来组织数据是很好的方法,在此强烈推荐
数据类型
- JSON表现力也有限制,因为只有null,布尔,数字,字符串,数组和对象几种类型,
- MongoDB保留JSON键值对基础上,增添了其他一些数据类型
使用GridFS存储文件有如下原因:
- 会直接利用业已建立的复制或分片机制,所以对于文件存储来说故障恢复和扩展都很容易
- 可以避免用户上传内容的文件系统出现的某些问题
- 不产生磁盘碎片,因为MongoDB分配数据文件空间以2GB为一块
开发者角度到此为止,下一篇是运维角度的学习