在20万条logging之后,Mongodb的回应令人难以置信

目前我们的任务是从外部服务器获取100万条logging,处理它并将其保存在数据库中。 我们使用node.js来获取logging和mongodb作为数据库。

我们决定把这个过程分成2个任务,取出logging并处理。 现在我们可以获取所有logging并将其转储到mongo中,但是当我们试图处理它时(通过处理我的意思是改变一些属性值,做一些简单的计算并更新属性),我们看到在mongodb中的响应速度非常慢更新大约200,000条logging。

为了处理数据,我们批量处理1000条logging,更新logging(单独),然后进行下一批处理。 怎样才能让表演变得更好?

如果你想在mongoDB之后保持响应速度,那么在你的数据库中使用mongo sharding和replication

复制: – MongoDB中的副本集是一组保持相同数据集的mongod进程。 副本集提供冗余和高可用性,是所有生产部署的基础。 本节介绍MongoDB中的复制以及副本集的组件和体系结构。 本节还提供与副本集相关的常见任务教程。

复制链接

分片: – 分片是将数据logging存储在多台机器上的过程,也是MongoDB满足数据增长需求的方法。 随着数据量的增加,单个机器可能不足以存储数据,也不能提供可接受的读写吞吐量。 分片解决了水平缩放的问题。 通过分片,您可以添加更多机器来支持数据增长以及读写操作的需求。

分片链接