使用MongoDB插入大量数据时出现的问题

时间:2018-12-06 18:38:22

标签: mongodb bigdata

我们在使用MongoDB并插入大量数据时遇到问题。

在这种情况下,存在连接到WebSocket(Socket.IO)的Web套接字客户端。 这些客户端每10秒生成一次事件日志,并将其作为WebSocket事件发送。 WebSocket接收事件并将其写入MongoDB。

我们已经连接了6000个Web套接字客户端,以发送此事件日志。 6000个客户端每秒生成600个或更多的事件日志,因为某些客户端存储脱机数据以在连接后进行传输。

我们每个客户帐户都有一个数据库,并且有一个集合来存储此文档。

文档具有以下内容:

{
  “_id”: “1k2jh3k2h31kh1…",
  “clientId": 1,
  “mediaId": 2,
  “createdAt": “2018-12-05 11:00:00”,
  "type": “I"
}

文档具有使用3个属性的唯一键:clientId,mediaId和createdAt。

我们还有一个Web界面,用于生成包含关键属性汇总的报告。 而且聚集很重而且很慢。

当前,我们使用运行MongoDB的EC2大型实例。 但是我们在MongoDB上有很多重载问题。

我们计划将业务扩展到20.000个客户。

我的问题是:MongoDB是此用例的最佳解决方案?与大量数据一起插入和汇总报告的最佳实践是什么?

0 个答案:

没有答案