这段时间需要验证一下非关系型数据的特性,于是做了一些简单的验证,后续还可能进一步做一些更为复杂的验证测试。即使是简单的测试,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数据库(MongoDB、HBase、Redis)进行技术预研,从数据库的安装、部署、备份恢复、集群扩展、性能、客户端等方面进行比较,结合银行自身业务特点,分析每个...
技术选型:MongoDB,一个基于文档的NoSQL数据库,适用于处理大量的结构化或非结构化数据。 功能描述:存储用户数据、资讯内容和交互数据,支持高并发读写操作。 优点与特点 性能优化:利用Vue的虚拟DOM减少页面重绘...
MongoDB、ElasitcSearch、Redis、HBase是现今最火的四款NoSQL数据库产品。在实际的开发中,这四种数据库有什么区别?我到底该选哪个?想必这是很多互联网开发都遇到过的难题。下面就给大家总结下这四种数据库产品的...
MongoDB是DBA新引进的一个NOSQL型数据库,其架构为:MongoDB+PCServer+Linux+本地盘/存储卡。 该文档主要是制定MongoDB的数据库架构规范,供后续的架构设计与选型提供参考。
⼤数据技术体系 ⽂件存储:Hadoop HDFS、Tachyon、KFS 离线计算:Hadoop MapReduce、Spark 流式、实时计算:Storm、Spark Streaming、S4、Heron K-V、NOSQL数据库:HBase、Redis、MongoDB 资源管理:YARN、Mesos ⽇...
NoSQL 概念,原理,如何选型,常用NoSQL数据库
前后端分离开发,即当前端又当后端,分角色开发【课程受益】一次上手,即学即会,提供全套源代码,直接可以运行【技术介绍】MongoDB目前NoSql中最流行的数据库,互联网的必备神器,目前最新的版本4.x;本课程针对4.x...
像HBase、MongoDB以及Redis这样的NoSQL数据库:它们可扩展,但不支持SQL,同时也舍弃了事务的一致性。因此,新一代数据库将会是怎样的?在我看来,其主要特征应该是:支持SQL;具有可扩展性;支持事务执行四要素/...
NoSQL领域一直独占鳌头。MongoDB是为快速开发互联网应用 而设计的数据库系统,其数据模型和持 久化策略就是为了构建高读/写的性能,并且可以方面的弹性拓展。随着MongoDB的普及和使用量的快 速增长,为了规范使用,...
第五篇为数据缓存篇(NoSQL),包括第10章、第11章和第12章,分别介绍了Memcached,以及两种当前非常流行的NoSQL数据库软件Redis和MongoDBC。第六篇为文件服务篇,包括第13章和第14章,介绍了MFS和Hadoop。第七篇...
优惠券列表、优惠券选择 团购 搜索 商品详情、商品评价、商品分享 购物车 下单 订单列表、订单详情、订单售后 地址、收藏、足迹、意见反馈 客服 管理平台功能 会员管理 商城管理 商品管理 推广管理 系统管理 配置...
技术选型 后端技术 技术 说明 官网 SpringBoot 容器+MVC框架 SpringSecurity 认证和授权框架 MyBatis ORM框架 MyBatisGenerator 数据层代码生成 PageHelper MyBatis物理分页插件 Swagger-UI 文档生产工具 Hibernator...