GitOPEN's Home.

MongoDB技术笔记

Word count: 408 / Reading time: 1 min
2020/03/03 Share

前言

我们实验室在保存和处理数据时,大部分小伙伴习惯于使用SQL系的数据库,可是,我习惯于NoSQL系的MongoDB,一来存储、读取方便,二来,做数据分析和挖掘,MongoDB的性能和速度已经完全胜任了。这一篇文摘,就是记录在使用MongoDB的过程中,遇到的问题及解决方案,或者一些常用的Tips。好记性不如烂笔头,既可以帮助遇到同样问题的童鞋,也可以方便今后的查阅。 —— by GitOPEN

碎片


createIndex 时遇到 checksum error

有这样一个collection,数据量为41443963,在对它的一个名为keywords的field进行createIndex时,出现了checksum error的错误,并且mongod直接crash退出了,错误的详细信息如图所示:
mongod checksum error

在遇到这个问题以后,我想到了--repair操作,在执行了该操作以后,这个coll的数据量减少了104条,这就让我想到了,出现错误的原因很可能是部分数据出现了损坏,进而又想到了我在给这个表insert数据的时候,使用了多线程操作pymongo,因此,为了测试,我使用单线程将该coll的数据重新跑了一遍,又执行了createIndex操作,这次没有错误了!

总结 在mongodb执行插入数据的操作时,除非有很高的速度要求,否则不要使用多线程执行并发插入数据操作,避免出现数据损坏的情况,导致后续工作(如createIndex等)出现问题。


碎片 N



未完待续,越踩坑越🐂🍺



欣慰帮到你 一杯热咖啡
【奋斗的Coder!】企鹅群
【奋斗的Coder】公众号
CATALOG
  1. 1. 前言
  2. 2. 碎片
    1. 2.1. createIndex 时遇到 checksum error
    2. 2.2. 碎片 N
    3. 2.3. 未完待续,越踩坑越🐂🍺