3

我正在创建一个具有大量音频存储、TB 级的站点,并且我希望使用 GridFS 进行分片,并能够轻松地在多台机器上扩展数据库。

我的问题是将文件放在单独的 mongo 数据库中会更好吗?mongodb 中会有大量文档,我只是不确定当您开始使用 GridFS 部分进行分片时会发生什么。

谢谢!

4

1 回答 1

4

即使您将 GridFS 存储与其他集合保存在同一个数据库中,当您需要移动到分片时,您仍然可以选择对哪些集合进行分片(或不分片)。也就是说,如果你把它放在一个单独的数据库中,如果你愿意的话,你将能够更容易地将它移动到一个单独的集群中——例如,你可以为你的“主要”集合拥有一个 3 分片集群,并且用于 GridFS(或您选择的任何其他配置)的 5 分片集群。

至于对 GridFS 集合进行分片,请参阅MongoDB 文档中有关为 GridFS 选择分片键的信息。通常,人们将chunks集合(文件数据本身存储的地方)分片,files_id以便同一文件的所有块都驻留在同一个分片上。同样,请参阅文档页面以获取更多详细信息。

于 2011-12-31T17:05:56.873 回答