MySQL数据批量迁移至MongDB

本文讲述了如何高效地将40M大小、5w+条记录的MySQL数据库数据迁移到MongoDB。通过使用Python的pymysql库批量查询和fetchmany方法避免内存负荷,同时利用DictCursor将查询结果直接转化为字典格式,简化数据处理。最后,使用MongoDB的insert_many方法将数据插入,实现快速迁移。整个过程在4w+数据量时大约需要40分钟。
摘要由CSDN通过智能技术生成

背景故事:
公司的MySQL数据库关联太复杂了,结构难缠,关系混乱,为了后续项目的方便查询,老板交代,需要将MySQL的数据全部迁移至MongoDB中去。

这MySQL数据量大概在40M左右,数据量5w+,说起来不算太大,如果一条一条的读取迁移,任务也能完成,具体实施起来,效率就是慢的一批。果断转换思路。

ε=(´ο`*)))唉,想当年也是操作数据库的一把好手,不曾想,在这爬虫领域逍遥自在了许久,竟忘了这前世的情缘。(咳咳咳!扯远了)

回归正题,单条迁移,效率不太理想,那就来个步子大一点的方法,批量迁移数据。

具体实施的思路是:

1.查询MySQL数据库,获取数据。
2.将数据插入Monodb

难点总结:

查询MySQL数据库的问题在于,每次获取多少条的数据,最终目的是为了获取所有数据,但是也得考虑内存的负荷,如果数据量过大的话,电脑直接宕机了。

MongoDB对于插入的数据类型有要求,需要将查询出的数据统一成MongoDB能够接收的类型

下面就让我们来一起揭开数据批量迁移的神秘面纱吧

上代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值