我正在制作一个存储大量音频的网站,需要使用数千兆字节的存储空间,我想使用GridFS进行分片,并能够轻松地将数据库扩展到多台机器上。 我的问题是,是否更好地将文件放在单独的Mongo数据库中?MongoDB中将有大量文档,我只是不确定当您开始使用GridFS部分进行分片时会发生什么。 谢谢!
即使您将GridFS存储与其他集合放在同一个数据库中,当您需要转移到分片时,仍然可以选择要分片的集合(或不分片)。也就是说,如果您将其放在单独的数据库中,如果您选择这样做,您将更容易将其移动到单独的群集中--因此,例如,您可以为“主”集合使用3个分片群集,并为GridFS使用5个分片群集(或任何其他配置)。至于分片GridFS集合,请参见 MongoDB有关选择GridFS分片键的文档。通常,人们将chunks集合(其中存储文件数据本身)分片在files_id上,以便相同文件的所有块都驻留在同一分片上。再次请参阅文档页面获取更多详细信息。