Mongo亿级数据量性能测试

因为课题需要,需要用大数据技术建立元数据库,这里通过调研准备使用nosql里面比较火的MongoDB,导师一直让我测试一下,一开始我一脸懵逼,以为只是测试对应sql里面的增删改查怎么写,并且怎么取底层元数据库我还没学会,于是进度一直拖这被一顿喷,很尴尬。

其实就是一个简单的性能测试,在初步的了解了元数据的数据结构之后,设计不同的方案并生成满足符合需求的数据,进行性能测试即可。

前期简单的铺垫,在mac单机上进行测试的。

配置环境:https://www.runoob.com/mongodb/mongodb-osx-install.html

这里的需求主要是100000炮数据,每炮数据5000信号量。有如下两个数据结构的设计:

方案一:100000炮数据,5000信号,每个信号做成一个document,一共5e8条文档。

方案二:100000炮数据,5000信号,每一炮的5000信号放在一起做成一个document,一共1e5条文档。

db.metadata.insert({ Tree:'east',
Shot:i,
Path:'EAST::A1',
createTime:'0000/00/00 00:00:00',
daqTime:arr,
Freq:arr,
Ftrans:arr,
Fzoom:arr,
segNum:arr,
segTime:arr,
sigUnit:'Not define',
trigTime:arr,
uIMax:arr,
uISwing:arr})
//其中arr对应方案2的设计方法 是一个长度为5000的数组,对应方案一,arr的赋值就换成int or  double

测试结果和方案性能对比如下表:

 初步的结论就是Mongo在有索引的情况下,亿级的记录(存储量也就25G多点),查询速度还是很客观的。

原文地址:https://www.cnblogs.com/rhythmic/p/14135599.html