这段时间需要验证一下非关系型数据的特性,于是做了一些简单的验证,后续还可能进一步做一些更为复杂的验证测试。即使是简单的测试,MongoDB给我留下了很好的印象,可以说是惊艳。
从我简单的测试情况来看,读写性能非常好。
服务器环境: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 = Not Only SQL,即除了SQL以外,还有其他的数据存储选择,数据存储的选型应避免仅局限于关系型数据库,而是可以根据实际需要选择适合的数据库,形成一个混合关系型数据库和NoSQL数据库的复杂架构。...
MongoDB是一种流行的文档型NoSQL数据库,它以JSON格式存储数据,易于理解和操作。MongoDB的安装配置相对简单,可以通过官方提供的二进制包或包管理器进行安装。在备份恢复方面,MongoDB提供了mongodump和...
MongoDB是一种源代码开放的、跨平台的NoSQL数据库系统,它采用BSON(Binary JSON)格式存储文档数据。与传统的关系型数据库不同,MongoDB通过灵活的数据模型和高效的查询语言,为大规模数据存储和处理提供了强大的...
技术选型:MongoDB,一个基于文档的NoSQL数据库,适用于处理大量的结构化或非结构化数据。 功能描述:存储用户数据、资讯内容和交互数据,支持高并发读写操作。 优点与特点 性能优化:利用Vue的虚拟DOM减少页面重绘...
### MongoDB开发应用实践 #### 一、背景与需求分析 **视觉中国的MongoDB应用实践**这一案例主要聚焦于视觉中国采用MongoDB作为其数据库...对于正在面临类似挑战的企业来说,MongoDB无疑是一个值得考虑的优秀选择。
spring.data.mongodb.uri=mongodb://localhost:27017/truman_test?retryW ``` 以上知识点涵盖了MongoDB的基本概念、应用场景、软件组件以及如何在实际开发中使用MongoDB等内容。通过对这些知识点的学习,可以帮助...
- **简介**:MongoDB 是一种NoSQL数据库,它采用文档数据模型(BSON格式)存储数据。 - **应用场景**:在本项目中,MongoDB 作为主数据库,主要用于存储商品信息、订单信息、用户信息等。 - **优势**:MongoDB ...
其次,明确所需存储类型,根据业务需求选择最适合的NoSQL数据库类型。最后,结合业务场景进行深度定制和优化,如利用NoSQL数据库的复制协议进行数据同步、故障恢复等,充分发挥NoSQL数据库的优势,为应用提供强有力...
8. **NoSQL与SQL的比较**:对比NoSQL和RDBMS在数据一致性、事务处理、查询复杂性等方面的优势和劣势,帮助读者理解何时选择NoSQL,何时坚持使用SQL。 9. **未来发展趋势**:探讨NoSQL技术的最新进展,如多模数据库...
MongoDB是一款流行的NoSQL数据库,适合存储非结构化和半结构化数据。在商品推荐系统中,可以存储用户信息、商品详情、交易记录等多样化数据。MongoDB的灵活性和高扩展性使其成为大数据存储的理想选择。 4. **大...
3. **MongoDB**: MongoDB是一款流行的非关系型数据库(NoSQL),特别适合处理半结构化或非结构化数据。在论坛中,MongoDB可能用于存储用户行为数据、论坛统计信息、自定义设置等不适合用传统关系模型表示的数据。...
10. **选型考虑**:企业在选择NoSQL数据库时,应考虑数据模型、性能需求、扩展性、数据一致性以及开发团队的技能和经验。 综上所述,《企业NoSQL数据库入门》这本书可能会涵盖这些方面的内容,帮助读者理解并掌握...
MongoDB、ElasitcSearch、Redis、HBase是现今最火的四款NoSQL数据库产品。在实际的开发中,这四种数据库有什么区别?我到底该选哪个?想必这是很多互联网开发都遇到过的难题。下面就给大家总结下这四种数据库产品的...
**MongoDB** 是一款开源的NoSQL数据库管理系统,它采用文档数据模型,支持灵活的数据模式,适用于处理大规模数据集。本书《MongoDB in Action》由Kyle Banker编写,深入介绍了MongoDB的核心概念和技术细节。 - **...
MongoDB作为当前最流行的NoSQL数据库之一,已经广泛应用于各行各业。然而,当我们面临着多数据中心的选择时,面临着诸多挑战和困难。该文档旨在讨论MongoDB多数据中心的方案选型之路,并提供相应的解决方案。 ...
⼤数据技术体系 ⽂件存储:Hadoop HDFS、Tachyon、KFS 离线计算:Hadoop MapReduce、Spark 流式、实时计算:Storm、Spark Streaming、S4、Heron K-V、NOSQL数据库:HBase、Redis、MongoDB 资源管理:YARN、Mesos ⽇...
### NOSQL内存数据库选型报告关键知识点解析 #### 一、背景与挑战 随着互联网技术的迅猛发展,特别是Web2.0时代的到来,传统的关系型数据库(如MySQL、Oracle等)面临着诸多挑战,尤其是在应对高并发读写、海量数据...