码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB 之 幽灵操作避免

时间:2017-11-16 11:48:25      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:写入   速度   静态   数据   准备   buffer   原因   建立   mongod   

   进行静态加载数据到集合的过程中可能会出现。

   假设建立一个任务(Job):在MongoDB中进行千条更新操作,开始后迅速终止任务,终止所有更新操作,但依然发现新的更新任务在不断出现,即使任务已经停止。

   原因是:如果使用非应答式写入(unacknowledge write)加载数据,应用触发写入操作的速度可能比MongoDB处理速度快。如果MongoDB有准备,这批写入将会堆积在操作系统中的套接字缓存(socket buffer)中。此时,终止掉MongoDB正在进行的写入操作后,MongoDB开始处理缓存区的写入操作。因为,这批操作已经被MongoDB所接收了,只不过暂时还没有进行处理。

  避免这种幽灵操作的最佳方案是:使用应答式写入,即每次写入操作都等待上次写入完成后才会进行下去,而非在上一次写入进入缓存区时就进行下一次操作。

MongoDB 之 幽灵操作避免

标签:写入   速度   静态   数据   准备   buffer   原因   建立   mongod   

原文地址:http://www.cnblogs.com/jokerjason/p/7842853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!