`
lxiaodao
  • 浏览: 121308 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

NoSql选型:MongoDB值得选择(一)

阅读更多
这段时间需要验证一下非关系型数据的特性,于是做了一些简单的验证,后续还可能进一步做一些更为复杂的验证测试。即使是简单的测试,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));
        }
       
        
    }
}

我没有记录详细的测试数据,测试结果参考。
分享到:
评论

相关推荐

    MongoDB简介与实践.pdf

    实际上,NoSQL = Not Only SQL,即除了SQL以外,还有其他的数据存储选择,数据存储的选型应避免仅局限于关系型数据库,而是可以根据实际需要选择适合的数据库,形成一个混合关系型数据库和NoSQL数据库的复杂架构。...

    NoSQL研究及选型报告

    MongoDB是一种流行的文档型NoSQL数据库,它以JSON格式存储数据,易于理解和操作。MongoDB的安装配置相对简单,可以通过官方提供的二进制包或包管理器进行安装。在备份恢复方面,MongoDB提供了mongodump和...

    Mongodb视频-燕十八 mongodb视频教程全集21讲+mongodb高级实战开发视频教程

    MongoDB是一种源代码开放的、跨平台的NoSQL数据库系统,它采用BSON(Binary JSON)格式存储文档数据。与传统的关系型数据库不同,MongoDB通过灵活的数据模型和高效的查询语言,为大规模数据存储和处理提供了强大的...

    基于Vue和Node的游戏资讯系统项目(免费提供全套java开源项目源码+论文+ppt+软件+使用说明)

    技术选型:MongoDB,一个基于文档的NoSQL数据库,适用于处理大量的结构化或非结构化数据。 功能描述:存储用户数据、资讯内容和交互数据,支持高并发读写操作。 优点与特点 性能优化:利用Vue的虚拟DOM减少页面重绘...

    MongoDB开发应用实践

    ### MongoDB开发应用实践 #### 一、背景与需求分析 **视觉中国的MongoDB应用实践**这一案例主要聚焦于视觉中国采用MongoDB作为其数据库...对于正在面临类似挑战的企业来说,MongoDB无疑是一个值得考虑的优秀选择。

    ​MongoDB指南文档

    spring.data.mongodb.uri=mongodb://localhost:27017/truman_test?retryW ``` 以上知识点涵盖了MongoDB的基本概念、应用场景、软件组件以及如何在实际开发中使用MongoDB等内容。通过对这些知识点的学习,可以帮助...

    Vue2.0+Node.js+MongoDB全栈打造商城系统

    - **简介**:MongoDB 是一种NoSQL数据库,它采用文档数据模型(BSON格式)存储数据。 - **应用场景**:在本项目中,MongoDB 作为主数据库,主要用于存储商品信息、订单信息、用户信息等。 - **优势**:MongoDB ...

    nosql研发之路

    其次,明确所需存储类型,根据业务需求选择最适合的NoSQL数据库类型。最后,结合业务场景进行深度定制和优化,如利用NoSQL数据库的复制协议进行数据同步、故障恢复等,充分发挥NoSQL数据库的优势,为应用提供强有力...

    中国数据库技术大会NoSQL技术实践专场PPT资料.rar

    8. **NoSQL与SQL的比较**:对比NoSQL和RDBMS在数据一致性、事务处理、查询复杂性等方面的优势和劣势,帮助读者理解何时选择NoSQL,何时坚持使用SQL。 9. **未来发展趋势**:探讨NoSQL技术的最新进展,如多模数据库...

    计算机课程毕设:基于Spark+Scala+MongoDB的大数据实战,商品推荐系统设计与实现.zip

    MongoDB是一款流行的NoSQL数据库,适合存储非结构化和半结构化数据。在商品推荐系统中,可以存储用户信息、商品详情、交易记录等多样化数据。MongoDB的灵活性和高扩展性使其成为大数据存储的理想选择。 4. **大...

    基于SphinxMySQL和MongoDB的简易论坛

    3. **MongoDB**: MongoDB是一款流行的非关系型数据库(NoSQL),特别适合处理半结构化或非结构化数据。在论坛中,MongoDB可能用于存储用户行为数据、论坛统计信息、自定义设置等不适合用传统关系模型表示的数据。...

    Enterprise NoSQL for Dummies

    10. **选型考虑**:企业在选择NoSQL数据库时,应考虑数据模型、性能需求、扩展性、数据一致性以及开发团队的技能和经验。 综上所述,《企业NoSQL数据库入门》这本书可能会涵盖这些方面的内容,帮助读者理解并掌握...

    当下流行NOSQL的选型

    MongoDB、ElasitcSearch、Redis、HBase是现今最火的四款NoSQL数据库产品。在实际的开发中,这四种数据库有什么区别?我到底该选哪个?想必这是很多互联网开发都遇到过的难题。下面就给大家总结下这四种数据库产品的...

    MongoDB.in.Action.pdf

    **MongoDB** 是一款开源的NoSQL数据库管理系统,它采用文档数据模型,支持灵活的数据模式,适用于处理大规模数据集。本书《MongoDB in Action》由Kyle Banker编写,深入介绍了MongoDB的核心概念和技术细节。 - **...

    藏经阁-MongoDB多数据中⼼的⽅案选型之路.pdf

    MongoDB作为当前最流行的NoSQL数据库之一,已经广泛应用于各行各业。然而,当我们面临着多数据中心的选择时,面临着诸多挑战和困难。该文档旨在讨论MongoDB多数据中心的方案选型之路,并提供相应的解决方案。 ...

    大数据技术体系.pdf

    ⼤数据技术体系 ⽂件存储:Hadoop HDFS、Tachyon、KFS 离线计算:Hadoop MapReduce、Spark 流式、实时计算:Storm、Spark Streaming、S4、Heron K-V、NOSQL数据库:HBase、Redis、MongoDB 资源管理:YARN、Mesos ⽇...

    NOSQL内存数据库选型报告x.docx

    ### NOSQL内存数据库选型报告关键知识点解析 #### 一、背景与挑战 随着互联网技术的迅猛发展,特别是Web2.0时代的到来,传统的关系型数据库(如MySQL、Oracle等)面临着诸多挑战,尤其是在应对高并发读写、海量数据...

Global site tag (gtag.js) - Google Analytics