大数据迁移总结
情况是这样的,有几张表存储爬虫爬过来的数据,用text
的数据类型的一个字段存储,这种表每张有2万多条数据,这样的数据库有20-30个,其中的数据还有很多是重复的,现在需要把这些数据迁移到一个库中,简单来说就是一句话:
XXXXXXXX…….
如果只是要插入数据我也认了,但是现在问题是我还要对其中的一些数据进行处理,就是我还要遍历每条数据。也就是说我一定要用脚本去实现它。
业务逻辑是简单的,就是对其中的一个字段进行替换,但是问题简单来说就是以下这些:
- 数据量太大了,使用脚本运行时很快就报内存耗尽
- 分布在多个库中,需要将各个库中的数据拿出来后使用脚本加入到一个库中
当时第一想法就是这玩意考的不是程序员写脚本的能力,因为你肯定可以写出处理的脚本,难点就是你的脚本服务器根本跑不动,比如你把上万条数据,每条数据还贼大的数据存储在脚本中的一个变量里,还希望他完美执行,做梦吧你,这个时候你的脚本会出现莫名其妙的错误,这里少个逗号,那里缺个冒号,这些都是轻的了,麻烦的是多给你加几个冒号之类的,你就坐着哭吧。
所以这里你写脚本的时候,不光要考虑业务的处理原则,还要兼顾服务器的性能问题,这才是难点,下面我就讲讲我的思路,当然,如果你们有更好的思路,请马上告诉我,否则我真的要完蛋了。
顺道吐槽一句,这种数据,动动脑子都知道要往mongodb
里面扔啊&#