一个集合下面多很多个文档,每个文档大小都接近16兆,查询的时候需要把多个文档一次性读取出来,每个文档查询耗时都比较长。。我们的业务场景就是对整个文档的存储、读取,不需要具体知道每个文档的数据内容。。想知道这种对整个文档一次读取有没有高效的方式呢?
ricky 已回答的问题
big value 在写入时会造成存储引擎频繁的 b tree 节点分裂,在查询时也会造成 cache 的 eviction 导致缓存失效。目前 MongoDB 目前尚未有专门处理 big value 的机制,因此可以考虑在业务上对 big value 进行单独存储,将这些较大的 value 放在对象存储等介质中, 数据库中保存 value 在对象存储中的一个引用。
ricky 已回答的问题
并没有什么好的建议,官网建议
Reduce the Size of Large Documents
而且有一个提示“Your hardware configuration can affect the size of documents that your system can support. The BSON Document Size
limit is 16 megabytes.”,也就是说,BSON文档大小限制是16兆字节。
boycestar 已回答的问题