背景
公司针对mysql和mongo开发了相应的数据库管理平台(其实就是包了个壳),需对底层数据库做性能测试,获取相应的性能参数,在此记录测试过程中学到的一些东西
mongo简介
mongodb是怎么样的数据库
摘抄网络上的,简单记录下
mongodb是非关系型数据库,它的特点是高性能、易部署、易使用,存储数据非常方便。
主要功能特性有:
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
咋用
安装
略
启动:/usr/bin/mongod -f /etc/mongod.conf
简单的语句
1、删除全部数据
db.Account.remove({})
2、建表
db.createCollection("表名")
db.createCollection("表名",{capped:true, size:10000}) { "ok" : 1 }
3、查看表数据
db.表名.find()
4、删除数据
db.表名.remove({"字段名":"字段内容"})
5、添加用户角色
创建一个可以连接到任何数据库的用户test来查询和写入元数据到testdb
db.createUser({user:"test",pwd:"test",roles:["readAnyDatabase",{role:"admin",db:"testdb"}]})
6、删除用户角色
db.dropUser("test");
7、多条件查询:db.media.find({"$and":[{"consumername" : "onair"},{"isdel" : "1"}]}).count()
做测试用到的一些
1、大批量插入数据
for(var i=0;i<10000000;i++){
db.test.insert({"name":"test"+i,"age":parseInt(i*Math.random())})
}
使用客户端工具如:Robomongo 1.0.0-RC1、NoSQL Manager for MongoDB再或者mongodbmanager执行以上语句灌数据时,灌几万条数据后会报错停止(错误信息忘记记录了),后来写了简单的java代码,使用LR进行执行进行测试数据的灌入