GridFS的基本作用是:使用MongoDB来存储大的文件。MongoDB使用BSON的格式存储,对于存储单个大文件有限制。 每个文档的存储大小不能超过4M,或者16M。因此MongoDB相当于实现了一种分块的机制,可以将大的如视频文件 分割成小的块存储在MongoDB中。
这种实现方式可以提高文件的读取效率?
我自己认为对于文件的IO,应该是直接从文件系统中读取是最快的。图过外面再加了一层数据库的话,效率应该是 下降的。问过一个老师,解释是这样子可能可以较少句柄个数或者一定程度上将直接IO专成了高校的内存访问。
好像很多地方都开始使用这种数据库引擎之上建立“文件系统式”存储的方法。例如可以使用levelDB来二次开发 做一个文件系统。最近我也在看leveldb的内容,