开发笔记 -- MongoDB 单个数据集合拆分脚本

场景描述:

    数据清洗过程中发现,Mongodb中单个集合(表)数据量比较大(千万),定时任务处理加工数据时,由于服务器内存有限,会在处理过程中,出现内存不足的异常,于是希望把单个集合进行拆分成多个,在网上找了相关文章,发现处理这种的场景的案例比较少,基本上考虑了如下3中方案来实现:

    1. mongodb sharding 分片 ---没研究透彻

    2. mongodb 聚合查询,将结果封装成变量,循环遍历,写入新的集合 ---测试了下,效率较低  --文末会说明该方案,适用于小数据量

    3. 自定义python脚本  ---自己动手,丰衣足食

处理方式:

    这里采用了自己写脚本处理的方式,好了!逻辑比较简单,就是将源数据对象读取,循环遍历,到达自己指定的count计数后,开多线程,将符合条件的数据写入新集合(表)。

脚本内容:小伙伴们,可以根据自己实际需求修改脚本内相应的条件,有更好的实现方案,欢迎交流。

待补充

 

---补充:

mongodb 查询结果,循环遍历写入

待补充

 

开发笔记 -- MongoDB 单个数据集合拆分脚本

上一篇:MongoDB 笔记2 - 增删改查


下一篇:运维笔记 -- docker环境下部署Sql server 2019