MongoDB文件存储规范 GridFS

openkk 12年前

GridFS是一种将大型文件存储在MongoDB的文件规范。所有官方支持的驱动均实现了GridFS规范

缘起

数据库支持以BSON格式保存二进制对象。  但是MongoDB中BSON对象最大不能超过4MB。  GridFS 规范提供了一种透明的机制,可以将一个大文件分割成为多个较小的文档。这将容许我们有效的保存大的文件对象,特别对于那些巨大的文件,比如视频。

实现

为实现这点,该规范指定了一个将文件分块的标准。每个文件都将在文件集合对象中保存一个元数据对象,一个或多个块对象可被组合保存在一个块集合中。文件如何被分块保存的细节可以参看GridFS Specification; 大多数情况下,你无需了解此规范中细节,而可将注意力放在各个语言版本的驱动中有关GridFS API的部分或是如何使用mongofiles工具上。

语言支持

大多数驱动已包含GridFS的实现;对于那些没有在下面列出的语言,请查看该驱动API文档.  (若一种语言没有提供对GirdFS的支持, 请参看规范 -- 实现一个GridFS的处理程序并不复杂)

命令行工具

命令行工具 可以用来读/写GridFS从MongoDB中到本地的文件系统中。

参见

项目主页:http://www.open-open.com/lib/view/home/1339142303312