`
lxiaodao
  • 浏览: 119801 次
  • 性别: 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));
        }
       
        
    }
}

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

相关推荐

    NoSQL研究及选型报告

    该报告介绍了NoSQL的相关概念和实现技术,并选取三个NoSQL数据库(MongoDB、HBase、Redis)进行技术预研,从数据库的安装、部署、备份恢复、集群扩展、性能、客户端等方面进行比较,结合银行自身业务特点,分析每个...

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

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

    当下流行NOSQL的选型

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

    mongdb使用手册

    MongoDB是DBA新引进的一个NOSQL型数据库,其架构为:MongoDB+PCServer+Linux+本地盘/存储卡。 该文档主要是制定MongoDB的数据库架构规范,供后续的架构设计与选型提供参考。

    大数据技术体系.pdf

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

    NoSQL 介绍

    NoSQL 概念,原理,如何选型,常用NoSQL数据库

    SpringBoot+MongoDB+Vue前后分离

    前后端分离开发,即当前端又当后端,分角色开发【课程受益】一次上手,即学即会,提供全套源代码,直接可以运行【技术介绍】MongoDB目前NoSql中最流行的数据库,互联网的必备神器,目前最新的版本4.x;本课程针对4.x...

    如何构建一个NewSQL数据库

    像HBase、MongoDB以及Redis这样的NoSQL数据库:它们可扩展,但不支持SQL,同时也舍弃了事务的一致性。因此,新一代数据库将会是怎样的?在我看来,其主要特征应该是:支持SQL;具有可扩展性;支持事务执行四要素/...

    mongdb 开发规范精讲 精华部分

    NoSQL领域一直独占鳌头。MongoDB是为快速开发互联网应用 而设计的数据库系统,其数据模型和持 久化策略就是为了构建高读/写的性能,并且可以方面的弹性拓展。随着MongoDB的普及和使用量的快 速增长,为了规范使用,...

    高性能网站构建实战

    第五篇为数据缓存篇(NoSQL),包括第10章、第11章和第12章,分别介绍了Memcached,以及两种当前非常流行的NoSQL数据库软件Redis和MongoDBC。第六篇为文件服务篇,包括第13章和第14章,介绍了MFS和Hadoop。第七篇...

    java项目源码商城-mall:SpringBoot后端+Vue管理员前端+微信小程序用户前端+Vue用户移动端

    优惠券列表、优惠券选择 团购 搜索 商品详情、商品评价、商品分享 购物车 下单 订单列表、订单详情、订单售后 地址、收藏、足迹、意见反馈 客服 管理平台功能 会员管理 商城管理 商品管理 推广管理 系统管理 配置...

    java版商城源码下载-master:掌握

    技术选型 后端技术 技术 说明 官网 SpringBoot 容器+MVC框架 SpringSecurity 认证和授权框架 MyBatis ORM框架 MyBatisGenerator 数据层代码生成 PageHelper MyBatis物理分页插件 Swagger-UI 文档生产工具 Hibernator...

Global site tag (gtag.js) - Google Analytics