NoSql选型:MongoDB值得选择(一)
2011-01-07 08:34
281 查看
这段时间需要验证一下非关系型数据的特性,于是做了一些简单的验证,后续还可能进一步做一些更为复杂的验证测试。即使是简单的测试,MongoDB给我留下了很好的印象,可以说是惊艳。
从我简单的测试情况来看,读写性能非常好。
服务器环境:suse11,4核cpu,8G内存。
我没有记录详细的测试数据,测试结果参考。 阅读更多
从我简单的测试情况来看,读写性能非常好。
服务器环境:suse11,4核cpu,8G内存。
public class MongoDemo
{
public static DBCollection coll = null;
public static void main(String[] arr)
{
String host="129.42.13.118";
Mongo m = null;
try
{
m = new Mongo(host, 27017);
DB db = m.getDB("resourceDB");//如果没有对应的users数据库,数据库会为此创建一个
//增加一个用户,密码需转换成字符数据
//db.addUser("mongo", "123456".toCharArray());
//System.out.println(db.authenticate("mongo", "123456".toCharArray()));
//如果没有对应的userCollection,数据库会创建一个
//coll = db.getCollection("btResCollection");
coll = db.getCollection("resourceCollection");
System.out.println("------------number of data-----------"
+ coll.getCount());
//buildData();//76054797
System.out.println("------------number of data2-----------"
+ coll.getCount());
}
catch (UnknownHostException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (MongoException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void buildData()
{
System.out.println("------------begin-----------");
for(int k=0;k<10000;k++){
for (int i = 0; i < 30; i++)
{
new MongoThread().start();
}
try
{
Thread.sleep(3000);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("------------end-----------");
}
public static DBObject findDBObject(String id)
{
ObjectId oid = new ObjectId(id);
DBObject query = new BasicDBObject("_id", oid);
return query;
}
}
class MongoThread extends Thread
{
@Override
public void run()
{
for (int i = 0; i < 1000; i++)
{
long current = System.currentTimeMillis();
DBObject resources = new BasicDBObject();
resources.put("http", "http://sohu.com/pic?id="+i);
resources.put("bt", "bhjgk14fjkeikeldoll");
resources.put("out", i);
MongoDemo.coll.createIndex(new BasicDBObject("out", -1)); //升序1,-1降序
MongoDemo.coll.insert(resources);
System.out.println("------------monogdb insert need time-----------"
+ (System.currentTimeMillis() - current));
}
}
}
我没有记录详细的测试数据,测试结果参考。 阅读更多
相关文章推荐
- NoSql选型:MongoDB值得选择(二)
- NoSQL--MongoDB选择
- NoSQL--MongoDB选择
- 【NoSQL】MongoDB服务器相关选型和基础优化参考 推荐
- 如何根据性能选择内存NoSQL数据库?
- nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景?
- Nosql数据库之mongodb c++使用实例
- NoSQL Manager for MongoDB 到期解决
- 主流NoSQL数据库全方位评测:MongoDB
- mongodb分片片键的选择(持续更新中)
- NoSQL比较:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j
- 通过 MongoDB 使用 NoSQL(转)
- MongoDB(NoSQL) 入门
- NoSQL之【MongoDB】学习(一):安装说明
- NOSQL-Mongodb
- MongoDB学习——NoSQL简介
- 从MySQL和MongoDB的对比,看SQL与NoSQL的较量
- 为啥选择MongoDB
- NoSQL之【MongoDB】学习(二):DML和查询操作说明
- NoSQL数据库之用Java语言操作MongoDB(二)