MongoDB聚合性能

MongoDB聚合性能,mongodb,aggregation-framework,mongodb-aggregation,Mongodb,Aggregation Framework,Mongodb Aggregation,我正试图解决一些性能方面的问题,即在各种聚合中使用MongoDb处理大量文档 我曾读到,一个集合的容量为32TB,这取决于区块和碎片键值的大小 如果我有65000名客户,他们每人每天(平均)向我们提供350笔销售交易,那么最终每天创建的文档约为2275万份。当我说销售交易时,我指的是一个类似于发票的对象,带有标题和行项目。我拥有的每个文档平均为2.60kb 我还收到了这些客户收到的一些其他数据,如账户余额和目录中的产品。我估计任何时候都有大约1000条产品记录处于活动状态 基于上述情况,我估计一

我正试图解决一些性能方面的问题,即在各种聚合中使用MongoDb处理大量文档

我曾读到,一个集合的容量为32TB,这取决于区块和碎片键值的大小

如果我有65000名客户,他们每人每天(平均)向我们提供350笔销售交易,那么最终每天创建的文档约为2275万份。当我说销售交易时,我指的是一个类似于发票的对象,带有标题和行项目。我拥有的每个文档平均为2.60kb

我还收到了这些客户收到的一些其他数据,如账户余额和目录中的产品。我估计任何时候都有大约1000条产品记录处于活动状态

基于上述情况,我估计一年内大约有8392475,0,00(84亿)个文档,一个集合中存储的数据总量为20145450000 kb(18.76Tb)

基于32 TB(34359738368 kb)的MongoDb收集容量,我相信它将是容量的58.63%

我想了解对于在其上运行的不同聚合查询,这将如何执行。我想创建一组分段管道聚合,这些聚合写入不同的集合,用作business insights分析的源数据

在84亿个事务性文档中,我的目标是通过一组单独的服务在不同的集合中创建聚合数据,这些服务使用
$out
输出,以避免单个结果集的16Mb文档大小出现任何问题

我期望MongoDb能够:

  • 在一个集合中存储那么多数据
  • 聚合并输出刷新数据的结果,以在单独的集合中推动业务洞察力,供提供客户业务离散方面的服务使用
  • 欢迎任何反馈,我想了解使用MongoDb相对于其他海量数据存储和使用技术的局限性


    提前感谢

    MongoDB中的集合数量没有限制(在副本集或分片集群中)。我想你把这和达到最大收集量后无法分割的最大收集量混淆了


    对于您计划拥有的数据量,从一开始就使用分片集群是有意义的。

    MongoDB中的收集量没有限制(在副本集或分片集群中)。我想你把这和达到最大收集量后无法分割的最大收集量混淆了


    对于您计划拥有的数据量,从一开始就使用分片集群是有意义的。

    谢谢@Kiril,对于我计划在聚合中使用的文档量,您认为MongoDb可以处理吗?我知道存储大小只是我需要考虑的一个方面。谢谢,聚合查询性能将取决于为特定查询返回的数据量以及可以使用哪些索引来支持该查询。如果您的报告需要梳理18TB的数据以进行快速查询,那么数据必须在内存中或快速SSD上。感谢@Kiril,我计划在聚合中使用大量文档,您认为MongoDb可以处理吗?我知道存储大小只是我需要考虑的一个方面。谢谢,聚合查询性能将取决于为特定查询返回的数据量以及可以使用哪些索引来支持该查询。如果您的报告需要梳理18TB的数据,以便查询成为快速数据,那么数据必须位于内存或快速SSD上。