- 浏览: 1276823 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (608)
- 数据结构 (2)
- AJAX (3)
- 设计模式 (3)
- java (117)
- js (14)
- css (9)
- jsp (10)
- 杂文 (49)
- htmlparser (6)
- 数据库 (29)
- 算法 (14)
- 数据挖掘 (11)
- 电脑杂症 (12)
- 网络爬虫 (7)
- 应用服务器 (9)
- PHP (2)
- C# (14)
- 测试 (3)
- WEB高性能开发 (3)
- swt (1)
- 搜索引擎 (16)
- HttpClient (4)
- Lite (1)
- EXT (1)
- python (1)
- lucene (4)
- sphinx (9)
- Xapian (0)
- linux (44)
- 问题归类 (1)
- Android (6)
- ubuntu (7)
- SEO (18)
- 数学 (0)
- 农业资讯 (12)
- 游戏 (3)
- nginx (1)
- TeamViewer (1)
- swing (1)
- Web前 端 (1)
- 主页 (0)
- 阿萨德发首发身份 (0)
- 软件设计师 (0)
- hibernate (5)
- spring3.0 (5)
- elastic (1)
- SSH (3)
- ff (0)
- oracle 10g (9)
- 神经网络 (1)
- struts2.0 (2)
- maven (1)
- nexus (1)
- 辅助工具 (3)
- Shiro (1)
- 联通项目 (0)
- 2014年专业选择 (0)
- freemarker (1)
- struts1.2 (8)
- adfasdfasfasf (0)
- TortoiseSVN (1)
- jstl (1)
- jquery (1)
- eclipse plugin (0)
- 游戏外挂 (1)
- 推广 (0)
- 按键精灵 (1)
- ibatis3.0 (1)
最新评论
-
水野哲也:
不不不, 这个您真错了!其实是你引用的那个jsp和本身的jsp ...
解析关于jsp页面指令冲突问题contentType="text/html;charset=UTF-8" -
caobo_cb:
import xx.cn.weibo.Util;
[ java版]新浪微博之ruquest_token篇 -
caobo_cb:
你好 Util包没有
[ java版]新浪微博之ruquest_token篇 -
小桔子:
你好!我遇到个问题 max_allowed_packet值总是 ...
mysql查询占用内存,优化的技巧 -
donghustone:
谢谢大神!
用JSmooth制作java jar文件的可执行exe文件教程(图文)
再插入1000W的数据,既然丢失100W多数据。太夸张了吧。
是我操作上的问题,还是其他原因。在网络中,也有一些人发生过数据严重丢失。
1、我的环境
系统 window 20003
内存 1G
硬盘 1T 5700转
2、打算采用自动分片架设海量存储数据。
JSON结构
id 建立索引
url 建立索引
插入1000W数据,花费5个小时左右。
测试结果
查询一条记录,在100毫秒左右。
但发现一个非常严重的问题。数据严重丢失。数据库中只有8 963 724条数据。其他数据呢?
不见了?
贴一下相关代码。
数据库中数据结果
具体的配置步骤
今天,同事测试了1100W数据。没问题。一条数据都没有丢。先标记保留。有时间在测试一次。
2013-05-29 晚
硬件环境:
CPU 双核 硬盘:7200转 内存:2G
软件环境:
myeclipse mongodb2.5.jar mongodb2.4.3
测试规则(一):
没有采用分片,进行100W数据插入操作。字段有ID和URL。
测试结果:
没有出现数据丢失。
测试规则(二):
没有采用分片,进行1000W数据插入操作。字段有ID和URL。
测试结果:
mongodb关闭。写入I/O错误。
是我操作上的问题,还是其他原因。在网络中,也有一些人发生过数据严重丢失。
1、我的环境
系统 window 20003
内存 1G
硬盘 1T 5700转
2、打算采用自动分片架设海量存储数据。
JSON结构
id 建立索引
url 建立索引
插入1000W数据,花费5个小时左右。
测试结果
查询一条记录,在100毫秒左右。
但发现一个非常严重的问题。数据严重丢失。数据库中只有8 963 724条数据。其他数据呢?
不见了?
贴一下相关代码。
Mongo m = null; try { //连接数据库(三种连接方式): m = new Mongo("127.0.0.1", 25017); //选择数据库,如果没有这个数据库的话,会自动建立 DB db = m.getDB("dnt_mongodb"); //列出所有数据库名,不过发现,如果数据库里面是没有数据的话,并不会被列出来 System.out.println("数据库列表:\n"+m.getDatabaseNames()); DBCollection collection = db.getCollection("posts1"); System.out.println("统计文档:" + collection.count()); BasicDBObject document = new BasicDBObject(); document.put("id", 1); collection.createIndex(document); document = new BasicDBObject(); document.put("url", 1); collection.createIndex(document); for(int i = 1; i <= 10000000; i++){ System.out.println(i); document = new BasicDBObject(); document.put("id", i); document.put("url", "http://www.agrilink.cn/NewNongSou/GNZX/index2011.html?OK=" + i); //将新建立的document保存到collection中去 collection.insert(document); } System.out.println("Done"); } catch(Exception error) { error.printStackTrace(); } finally { m.close(); }
数据库中数据结果
mongos> use dnt_mongodb switched to db dnt_mongodb mongos> db.posts1.stats() { "sharded" : true, "flags" : 1, "ns" : "dnt_mongodb.posts1", "count" : 8963724, "numExtents" : 65, "size" : 932223312, "storageSize" : 1175728128, "totalIndexSize" : 1595456464, "indexSizes" : { "_id_" : 290926608, "id_1" : 250226480, "url_1" : 1054303376 }, "avgObjSize" : 103.99955554187076, "nindexes" : 3, "nchunks" : 42, "shards" : { "shard0000" : { "ns" : "dnt_mongodb.posts1", "count" : 1861097, "size" : 193554088, "avgObjSize" : 104, "storageSize" : 272621568, "numExtents" : 16, "nindexes" : 3, "lastExtentSize" : 51974144, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 398048560, "indexSizes" : { "_id_" : 60396112, "id_1" : 51950304, "url_1" : 285702144 }, "ok" : 1 }, "shard0001" : { "ns" : "dnt_mongodb.posts1", "count" : 1857613, "size" : 193191752, "avgObjSize" : 104, "storageSize" : 272621568, "numExtents" : 16, "nindexes" : 3, "lastExtentSize" : 51974144, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 282807840, "indexSizes" : { "_id_" : 60281648, "id_1" : 51852192, "url_1" : 170674000 }, "ok" : 1 }, "shard0002" : { "ns" : "dnt_mongodb.posts1", "count" : 1829738, "size" : 190288768, "avgObjSize" : 103.99782263908821, "storageSize" : 220647424, "numExtents" : 15, "nindexes" : 3, "lastExtentSize" : 43311104, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 402496304, "indexSizes" : { "_id_" : 59423168, "id_1" : 51108176, "url_1" : 291964960 }, "ok" : 1 }, "shard0003" : { "ns" : "dnt_mongodb.posts1", "count" : 3415276, "size" : 355188704, "avgObjSize" : 104, "storageSize" : 409837568, "numExtents" : 18, "nindexes" : 3, "lastExtentSize" : 74846208, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 512103760, "indexSizes" : { "_id_" : 110825680, "id_1" : 95315808, "url_1" : 305962272 }, "ok" : 1 } }, "ok" : 1 } mongos>
具体的配置步骤
创建configs服务器 mongod --dbpath "c:\mongodb\data\configs" --port 23017 创建mongos服务器 并指定依赖的配置服务器 (mongos依赖于配置服务器,mongos查询的分片信息都存储在configs中) mongos --port 25017 --configdb 127.0.0.1:23017 创建多个分片服务器 (负责数据存储) mongod --port 27017 --dbpath "c:\mongodb\data\dbs\shard27017" mongod --port 27018 --dbpath "d:\mongodb\data\dbs\shard27018" mongod --port 27019 --dbpath "f:\mongodb\data\dbs\shard27019" mongod --port 27020 --dbpath "e:\mongodb\data\dbs\shard27020" 连接mongos服务器添加shard27017|shard27018|shard27019|shard27020分片服务器到configs服务器中。 mongo localhost:25017/admin db.runCommand( { addshard : "localhost:27017", allowLocal : 1} ) db.runCommand( { addshard : "localhost:27018", allowLocal : 1} ) db.runCommand( { addshard : "localhost:27019", allowLocal : 1} ) db.runCommand( { addshard : "localhost:27020", allowLocal : 1} ) 创建相应数据库并设置其"可以sharding",对dnt_mongodb库启用分片功能 db.runCommand({"enablesharding":"dnt_mongodb"}) 注意:需要分片的集合 的shard key必须是索引键, (我们也可以在mongos为分片foo集合创建索引) db.runCommand( { shardcollection : "dnt_mongodb.posts1", key : {_id : 1}, unique: true } ) 至此自动分片就创建完成了,可以在mongos或configs服务器查询分片信息。 db.printShardingStatus()
今天,同事测试了1100W数据。没问题。一条数据都没有丢。先标记保留。有时间在测试一次。
2013-05-29 晚
硬件环境:
CPU 双核 硬盘:7200转 内存:2G
软件环境:
myeclipse mongodb2.5.jar mongodb2.4.3
测试规则(一):
没有采用分片,进行100W数据插入操作。字段有ID和URL。
测试结果:
没有出现数据丢失。
测试规则(二):
没有采用分片,进行1000W数据插入操作。字段有ID和URL。
测试结果:
mongodb关闭。写入I/O错误。
发表评论
-
数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问
2012-09-07 12:12 3114数据导入报错:Got a packet bigger than ... -
mysql 创建 数据库时指定编码
2012-09-03 17:17 841mysql 创建 数据库时指定编码很重要,很多开发者都使用了默 ... -
mysql MERGE 错误(differently defined or of non-MyISAM type)
2012-02-15 11:35 5616错误代码: Error Code : 1168 Unable ... -
Mysql中索引和UNION ALL的使用
2012-02-14 09:52 1482MYSQL描述: 一个文章库,里面有两个表:categor ... -
mongodb
2012-01-23 12:41 2064mongodb 操作记录 mongod --dbpath & ... -
SQL注入攻击的种类和防范手段
2011-12-03 10:34 1275观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这 ... -
mysql分表的3种方法
2011-10-21 10:11 860一,先说一下为什么要 ... -
mysql explain 知识一
2011-10-19 14:54 1284前记:很多东西看似简 ... -
libmysqlclient.la
2011-07-17 21:15 1411collect2: ld returned 1 exit st ... -
mysql备份
2011-07-09 02:43 1082备份MySQL数据库的命令 mysqldump -hhost ... -
Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLIC
2011-06-06 17:08 1676今天,在写触发器的时候,添加了一个更新语句,实在想不通。把更新 ... -
mysql explain 笔记整理
2011-06-04 10:16 998explain是用来分析sql语句,帮助优化的一个命令。 e ... -
MySQL: ERROR 13 (HY000): Can't get stat of
2011-04-11 19:42 3208但是将LOAD DATA INFILE 换成 LOAD D ... -
mysql查询占用内存,优化的技巧
2011-01-20 15:18 10916在Apache, PHP, MySQL的体系 ... -
linux mysql 启动失败(Can't create/write to can't create PID file: >Permission denied
2011-01-07 10:42 9898>071117 20:53:26 mysqld st ... -
MySQL触发器更新本表数据异常:Can't update table 'tbl' in stored function/trigger because it
2011-01-07 10:17 7676如果你在触发器里面对刚刚插入的数据进行了 insert/upd ... -
MYSQL 学习参考资料
2011-01-05 23:19 752http://dev.mysql.com/doc/refman ... -
mysql 定时执行
2010-10-15 13:44 1171首先,这个功能只能在5.1.X之上才能用 CREATE T ... -
安装、重装时出现could not start the service mysql error:0的错误或者start service停止不动时
2010-04-02 00:43 3779关于XP安装mysql-5.1.45-win3 ... -
mysql集群
2009-08-18 18:53 1248相关文章: mysql clus ...
相关推荐
MongoDB 是一个高性能、开源、无模式...总的来说,MongoDB 2.0.1是一个强大且稳定的数据库版本,特别适合处理大规模、非结构化或半结构化的数据,对于需要高性能、高可用性的Web应用和大数据解决方案,它是理想的选择。
这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习和性能测试。 在深入探讨MongoDB的测试数据之前,我们先来了解一下MongoDB的基本概念...
3. **数据导入导出**:支持将数据从CSV、JSON等格式导入到MongoDB,也可以将数据导出为这些格式,方便数据迁移和备份。 4. **文档编辑与创建**:允许用户直接在界面上创建、编辑和删除MongoDB文档,无需编写插入或...
在"mongodb-async-driver-2.0.1.jar"这个特定版本中,我们关注的是2.0.1版本的异步驱动程序。这个版本可能包含了以下关键知识点: 1. **非阻塞I/O**:异步驱动程序的核心是利用非阻塞I/O模型,使得程序在等待数据...
在IT行业中,MongoDB常用于处理大规模数据存储和实时分析任务。在本案例中,我们讨论的是"Mongodb-async-driver-2.0.1.rar",这是一个针对MongoDB的异步驱动程序的压缩包,版本为2.0.1。 异步驱动程序是MongoDB...
综上所述,"SpringBoot+MongoDB+Echarts图表数据可视化"项目利用SpringBoot作为后端处理逻辑,MongoDB作为数据存储,Echarts作为前端数据展示工具,共同实现了高效、直观的数据可视化解决方案。这个组合在现代Web...
MongoDB作为一个高性能、高可用性、以及易于扩展的开源NoSQL数据库,被广泛应用于需要处理大量数据的场景中。随着业务的发展,单一数据中心往往难以满足地理分布、数据可用性和合规性等需求。这时,多数据中心部署...
Geoserver发布MongoDB矢量数据地图服务 Geoserver是一款功能强大且开源的地理信息系统(GIS)服务器,能够实现空间数据的存储、处理和发布。MongoDB是一款NoSQL数据库,能够存储大量的矢量数据。本文将介绍如何使用...
MongoDB与Oracle数据库的数据同步是现代企业数据管理中常见的需求,尤其在大数据处理和分布式系统中。MongoDB是一个流行的文档型数据库,而Oracle则是一款成熟的SQL关系型数据库。本示例将探讨如何通过Java实现...
- **安全性**:确保数据迁移过程中的数据安全,防止数据丢失或泄露。 - **自定义**:用户可以根据自身需求定制迁移策略,满足特定业务场景的需求。 通过这些策略,MongoDB能够有效地管理热温数据,提高数据库性能...
在Spring Boot应用中,MongoDB的多数据源配置是一项关键任务,特别是在大型分布式系统中,可能需要连接到多个数据库以实现数据隔离、读写分离或灾难恢复策略。本篇文章将详细解析如何在Spring Boot中配置MongoDB的多...
本文主要介绍了关于MongoDB存储数据的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。 Memeory-Mapped ...
**beego V2.0.1 + MongoDB 项目实践** 在本文中,我们将深入探讨如何使用 Go 语言的 beego 框架 V2.0.1 版本结合 MongoDB 数据库来创建一个简单的项目。beego 是一个快速、强大的 Go Web 开发框架,它提供了一种...
mongodb-async-driver-2.0.1驱动文件 jar MongoDB Async Java Driver Documentation Welcome to the MongoDB Async Java driver documentation hub. Getting Started The Getting Started guide contains ...
8. **数据迁移和同步的挑战**: 需要注意的是,数据迁移和同步过程中可能遇到的问题包括数据丢失、延迟、性能影响以及兼容性问题。在实际应用中,需要根据业务需求和数据库特性进行适当的配置和优化。 9. **应用场景...
通过了解和掌握这两种技术的整合方法,能够为解决复杂的数据问题提供有效途径,并且在性能优化和系统扩展方面发挥重要作用。在不断变化的大数据领域中,这种整合技术将成为推动数据处理发展的重要力量。
【标题】: "Java操作MongoDB插入数据指南" 【描述】: 本指南将详细介绍如何在Linux环境下安装MongoDB,并通过Java进行数据插入操作。我们将涵盖MongoDB的Linux安装、MongoVUE客户端的使用以及Java API与MongoDB的...