0

我正在寻找一种解决方案,让我将一些嵌套的文件结构(目录、文件)存储在一个文件中。我考虑过像 tarball 之类的简单档案,但由于许多操作,它不合适。

比我想到 JSON 并将二进制文件存储到其中,作为 base64 编码的字符串。然后我偶然发现了 BSON 及其对每个文件 16MB 的限制。然后再次发现 GridFS 作为包装器,可以将较大的文件拆分为较小的块。

这对我的目标来说是完美的,因为 16MB 的块非常适合。

由于我的项目的分散对齐,我不能使用像 Mongo 这样的中央数据库。是否可以将 GridFS 用于单个本地文件之类的storage.bson东西,我可以在其中存储我的文件?

4

1 回答 1

1

GridFs 使用 MongoDb 文档的存储系统来存储小块 (256K) 文件。这不是 MongoDb 的一个方面,可以拆分为独立使用。

默认情况下,MongoDb 还创建 2GB 的数据存储文件。因此,即使使用 MongoDb,文件也不会存储在单个文件中。它们将被拆分为多个数据文件。像这样的文件拆分在数据库中并不少见。

此外,BSON 不限于 16MB 作为存储格式。MongoDb 引擎施加了 16MB 的限制。每个规格的 BSON 文档可以存储近 2GB 的数据。

于 2014-02-14T12:53:22.387 回答