赞
踩
背景:mongodb(应用运营数据分析与自动自助化支持平台)每分钟有30w~40w的insert,20w~30w的update。数据保留一天,一天之前的数据可以清理。一天的数据量大概1亿左右。由于数据量较大,清理数据对系统造成了较大影响,入库会出现堵塞。经过和开发多次讨论,尝试了不同的方案。最终选择了合适的清理方式,系统也开始比较稳定地运行。
除了这个mongodb库外,也遇到其他库询问关于mongodb如何进行数据清理问题。这里将常见的清理方法列出来供大家参考。
清理方法:
采用定期一分钟删除一次的方法。方法如下:
- "op" : "remove",
-
- "ns" : "fla.logGset",
-
- "query" : {
-
- "time" : {
-
- "$lt" : NumberLong(1495693140),
-
- "$gte" : NumberLong(1495693080)
-
- }
-
- },
对于数据量较小的表,这种方法比较合适。但是对于数据量较较大的库,删除速度太慢,跟不上入库的速度。比如mrcache这个库,单次删除执行时间需要大概10分钟~20分钟不等。这个
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。