Mongoose 下载功能最简单的方法是什么?

Mongoose 下载功能最简单的方法是什么?,mongoose,rabbitmq,bigdata,kafka-consumer-api,kafka-producer-api,Mongoose,Rabbitmq,Bigdata,Kafka Consumer Api,Kafka Producer Api,我们目前正在开发考勤系统(基于出入日志),客户可以在其中下载其员工最近6个月的数据。目前我们面临的问题是数据集非常大。目前,我们使用Mongo作为主要数据库来提供下载功能。获取和写入excel都是一项繁重的操作。 我知道解决这个问题的某些方法。我列出了所有这些,希望你们能帮助我决定最具可扩展性的选项 a) 增加服务器配置 b) 在另一个微服务中,以预处理格式将整个数据移动到其他数据库(如弹性搜索)。这将减少我的数据获取时间 c) 因为在excel中为500万到1000万个条目写入数据本身就是一个

我们目前正在开发考勤系统(基于出入日志),客户可以在其中下载其员工最近6个月的数据。目前我们面临的问题是数据集非常大。目前,我们使用Mongo作为主要数据库来提供下载功能。获取和写入excel都是一项繁重的操作。 我知道解决这个问题的某些方法。我列出了所有这些,希望你们能帮助我决定最具可扩展性的选项

a) 增加服务器配置

b) 在另一个微服务中,以预处理格式将整个数据移动到其他数据库(如弹性搜索)。这将减少我的数据获取时间

c) 因为在excel中为500万到1000万个条目写入数据本身就是一个消耗内存的过程。我们是否应该通过一个队列(Kafka或rabbitmq)在excel中实现数据写入,该队列包含多个Kubernetes吊舱,每次请求的数量是单一的还是有限的

d) 选项b和选项c的组合


请帮我提出您的建议,并让我知道是否还有其他可扩展的解决方案

现在您正在使用
MongoDB
获取和过滤数据,正如您所提到的,这些数据不是预处理格式

MongoDB或其他基于文档的NoSQL(如DynamoDB)非常适合以非规范化格式存储数据,然后根据id获取数据,或者只使用几个过滤器,即使要高效过滤数据,也需要创建索引(类似于MySQL索引),这需要额外的空间,并且默认情况下不会缓存这些数据


很好地利用了上述功能,可以在电子商务网站上显示产品详细信息页面,这些数据通常以规范化格式存储,以支持ACID,但也可以在NoSQL中以
非规范化格式存储,以支持更快的读取,而无需搜索,但电子商务上的搜索仍然只有在下载这些数据时才通过反向索引进行,是否有指定多个过滤器的选项?如数据范围,包括一些用户,排除一些用户,特定部门数据等?是的,数据可以被过滤掉。您好,谢谢您标记答案,很高兴这对您有所帮助。如果你也能投票(如果还没有投票)那就太好了。如果你认为这个问题有用,请投票@user156327