
mongodb
IT老男人
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
8天学通MongoDB——第一天 基础入门
关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。 一: 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意: ①:根据业界规则,偶数为“稳定版”(如:1.6.X,1.8....原创 2015-07-23 21:21:22 · 117 阅读 · 0 评论 -
搭建高可用MongoDB集群(二): 副本集
在上一篇文章《搭建高可用MongoDB集群(一)——配置MongoDB》 提到了几个问题还没有解决。主节点挂了能否自动切换连接?目前需要手工切换。主节点的读写压力过大如何解决?从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?数据压力大到机器支撑不了的时候能否做到自动扩展?这篇文章看完这些问题就可以搞定了。NoSQL的产生就是为了解决大数据量、高扩展性、高性...原创 2015-08-13 20:33:30 · 129 阅读 · 0 评论 -
搭建高可用MongoDB集群(三):深入副本集内部机制
在上一篇文章《搭建高可用mongodb集群(二)—— 副本集》 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制。还是带着副本集的问题来看吧!副本集故障转移,主节点是如何选举的?能否手动干涉下架某一台主节点。官方说副本集数量最好是奇数,为什么?mongodb副本集是如何同步的?如果同步不及时会出现什么情况?会不会出现不一致性?mongodb的故障转移会不会无故自动发生?...原创 2015-08-13 20:34:14 · 135 阅读 · 0 评论 -
搭建高可用MongoDB集群(四):分片
按照上一节中《搭建高可用mongodb集群(三)—— 深入副本集》搭建后还有两个问题没有解决:从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?数据压力大到机器支撑不了的时候能否做到自动扩展?在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的。而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!...原创 2015-08-13 20:35:02 · 138 阅读 · 0 评论 -
java操作mongo的一点记录
一、驱动mongo对应的java驱动的下载地址https://github.com/mongodb/mongo-java-driver/downloads 二、文档API文档的地址http://api.mongodb.org/java/官方入门地址http://www.mongodb.org/display/DOCS/Java+Tutorial在java里像在...原创 2015-08-14 10:35:01 · 140 阅读 · 0 评论 -
MongoDB 运行状态、性能监控,分析
mongostat详解mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。它的输出有以下几列:inserts/s 每秒插入次数query/s 每秒查询次数update/s 每秒更新次数de...原创 2015-08-20 13:37:08 · 235 阅读 · 0 评论 -
修改MONGODB 最大连接数
问题: 今天PHP 测试端出错。不知是否为MONGODB的问题。测试最时而正常,刷新多次后就出错。想到是否为连接次数的原因呢,所以想到把最大连接数修改后,再让他们测试一下,是否问题依旧。 修改方法:---------------------------------------------------------------------------------------1.修...原创 2015-08-20 13:38:34 · 449 阅读 · 0 评论 -
Mongodb如何重复利用空间和usePowerOf2Size标识
前一段时间使用repair命令修复线上的数据库,发现数据库中碎片巨大,占用200多G的数据在repair之后只有50多G,然后就研究了一下Mongodb是如何利用已经删除了的空间的。 分析下源码(源码版本2.2.2,新版本可能随时更新): Mongodb在执行删除(文档)操作时,并不会进行物理删除,而是将他们放入每个命名空间维护的删除列表里。//pdfile.cpp delet...原创 2015-08-21 11:47:54 · 633 阅读 · 0 评论 -
MongoDB的真正性能
最近开始研究MySQL和MongoDB,发现这方面资料不多。尤其是真正的说到点子上的文章,太少了。有一些对比测试的文章基本上都是瞎测,测试方法都测到了马腿上,得出的结论基本上都是NoSQL毫无价值容我借用Russell Smith 的那句话:不是MongoDB不行,是你不懂。让我来分析一下MongoDB的真正性能吧。有说MongoDB慢 反对:不设其他唯一索引的情况下,只用...原创 2015-08-21 13:33:44 · 159 阅读 · 0 评论 -
MongoDB与内存
但凡初次接触MongoDB的人,无不惊讶于它对内存的贪得无厌,至于个中缘由,我先讲讲Linux是如何管理内存的,再说说MongoDB是如何使用内存的,答案自然就清楚了。 据说带着问题学习更有效,那就先看一个MongoDB服务器的top命令结果:shell> top -p $(pidof mongod)Mem: 32872124k total, 30065320k used...原创 2015-08-21 13:59:50 · 124 阅读 · 0 评论 -
浅述MongoDB的管理操作
不知不觉房产系统已经使用MongoDB一年多了,记得一年多以前,正是NOSQL被热炒时,MongoDB更是作为NOSQL中的佼佼者,被炒得火烫,也应该就在当时被这股火烫着了,所以义无反顾的选择了MongoDB,现在想想当时确实有些冲动了,当时MongoDB的资料还是比较少,更别说中文资料了,后来还出现使用MongoDB成功应用的范例Foursquare的宕机事件。现在确实应该很感谢MongoDB...原创 2015-08-21 17:28:25 · 136 阅读 · 0 评论 -
MongoDB 查询超时异常 SocketTimeoutException
在对超过百万条记录的集合进行聚合操作。?123DBObject match=(DBObject)JSON.parse("{$match:{logType:{'$in':[5,9]}}}");DBObject group=(DBObject)JSON.parse("{$group:{'_id':'$domainUrl','count':{'$...原创 2015-09-11 13:42:08 · 3096 阅读 · 0 评论 -
使用大数据量的collection
使用大数据量的collection.在MongoDB存储信息用多个collection来替代一个collection。这样做每个重复的数据不必存在每个对象中,并且也不必再这个键上创建索引了。更重要的是性能,可以通过指定组来分布数据。 举个例子,假使我们要存储日志。并且有N种类型,如dev,debug,ops等。我们用一个collection来存储。{lo...原创 2015-11-09 09:51:29 · 252 阅读 · 0 评论 -
搭建高可用MongoDB集群(一):配置MongoDB
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。NOSQL有这些优势:大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制。高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。高性能,Nosql通过简...原创 2015-08-13 20:32:11 · 195 阅读 · 0 评论 -
搭建mongodb集群(副本集+分片)
完整的搭建mongodb集群(副本集+分片)的例子。。。准备四台机器,分别是bluejoe1,bluejoe2,bluejoe3,以及bluejoe0副本集及分片策略确定如下: 将创建3个副本集,命名为shard1,shard2,shard3;以上3个副本集作为3个分片;每个副本集包含3个副本(主、辅1、辅2);副本分开存储,即shard1存在bluejoe1、bl...原创 2015-08-13 20:23:23 · 199 阅读 · 1 评论 -
mongo客户端mongo VUE增删改查
一、先创建一张mongo表,右击已创建的数据库test,点击addcollection..输入Collection Name,点击ok;二、在创建的表中新增列与数据,右击表选择Insert document点击Insert,刷新表。三、查询数据右击表格,点击Find1、查询日期的方式需要在{Find}框中写{"endDate":ISODate("2013-12-3...原创 2015-08-06 17:56:05 · 162 阅读 · 0 评论 -
8天学通MongoDB——第二天 细说增删查改
看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongodb,突然傻眼了,擦,竟然开启不了,仔细观察“划线区域“的信息,发现db文件夹下有一个类似的”lock file”阻止了mongodb的开启,接下来我们要做的就是干掉它,之后,开启成功,关于mongodb的管理方式将在后续文章分享。 一: Insert操...原创 2015-07-23 21:21:57 · 131 阅读 · 0 评论 -
8天学通MongoDB——第三天 细说高级操作
今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标。一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce。<1> count count是最简单,最容易,也是最常用的聚合工具,它的使用跟我们C#里面的count使用简直一模一样。 <2>...原创 2015-07-23 21:22:38 · 116 阅读 · 0 评论 -
8天学通MongoDB——第四天 索引操作
这些天项目改版,时间比较紧,博客也就没跟得上,还望大家见谅。 好,今天分享下mongodb中关于索引的基本操作,我们日常做开发都避免不了要对程序进行性能优化,而程序的操作无非就是CURD,通常我们又会花费50%的时间在R上面,因为Read操作对用户来说是非常敏感的,处理不好就会被人唾弃,呵呵。 从算法上来说有5种经典的查找,具体的可以参见我的算法速成系列,这其中就包括我们...原创 2015-07-23 21:23:15 · 123 阅读 · 0 评论 -
8天学通MongoDB——第五天 主从复制
从这一篇开始我们主要讨论mongodb的部署技术。 我们知道sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署,如果碰到数据库宕机或者被毁灭性破坏那是多么的糟糕。 一:主从复制1: 首先看看模型图 2: 从上面的图形中我们可以分析出这种架构有如下的好处: <1&...原创 2015-07-23 21:23:48 · 177 阅读 · 0 评论 -
MongoDB整合Spring 详细讲解(含代码)
写这篇文章也做了下思考,首先是本人技术欠佳。但就是喜欢研究一些东西。因为在此之前有很多的朋友已经写过类似的,很多我也看过,但是讲解的不够深入。对有些朋友提出的问题不能给出答案。在这里,我根据我目前的能力对其进行整理。并最终运行成功。在测试过程中出现过一下问题:1、org/springframework/data/mapping/context/MappingContextAware...原创 2015-07-24 15:10:46 · 177 阅读 · 0 评论 -
8天学通MongoDB——第七天 运维技术
这一篇我们以管理员的视角来看mongodb,作为一名管理员,我们经常接触到的主要有4个方面:1. 安装部署2. 状态监控3. 安全认证4. 备份和恢复,下面我们就一点一点的讲解。 一:安装部署 我之前的文章都是采用console程序来承载,不过在生产环境中这并不是最佳实践,谁也不愿意在机器重启后满地找牙似找mongodb,在mongod...原创 2015-07-24 15:11:41 · 97 阅读 · 0 评论 -
8天学通MongoDB——第六天 分片技术
在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对。 一:分片 mongodb采用将集合进行拆分,然后将拆分的数据均摊到几个片上的一种解决方案。 下面我对这张图解释一下: 人脸: 代表客户端,客户端肯定说,你数...原创 2015-07-24 15:11:56 · 111 阅读 · 0 评论 -
spring与mongodb使用教程之整合的三种方式
这一章是mongodb的使用基础篇 为以后讲spring hadoop 之 mongodb整合做基础教程常用了web项目使用mongodb 与 spring整合一般有三种方式 此三种方式我都用过多次,个人比较喜欢第三种 1.原生驱动直接与spring整合2.google Morphia开源库3 spring data mongodb spring data子项目我会在...原创 2015-07-24 15:15:52 · 636 阅读 · 0 评论 -
用Mongodb基于GridFS存储文件
在Mongodb中以GridFSB方式存放文件有两种方式:1、命令行方式mongofiles 2、客户端驱动编程(以Java为例)1、命令行方式mongofiles在bin目录下有一个命令mongofiles.exe,即可完成命令行下向Mongodb数据库中插入文件数据。这里以前述所搭的4个分片,每分片3个复制集,3个ConfigSever ,1个路由节点的Windows的模拟集群为例。...原创 2015-07-24 15:34:13 · 217 阅读 · 0 评论 -
MongoDB GridFS java存取文件
GridFS首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合,前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数据)。分块的意思是把文件按照指定大小分割,然后存入多个文档中。"fs.files"怎么知道它对应的文件二进制数据在哪些块呢?那是因为在"fs.chunks"中有个"files_id"键,它对应"f.原创 2015-07-25 19:19:08 · 449 阅读 · 0 评论 -
MongoDB结合Spring存储文件(图片、音频等等)
MongoDB 存储图片等文件有两种方式(该文章针对的是已经可以使用MONGODB整合Spring的用户)相关阅读:MongoDB备份与恢复 http://www.linuxidc.com/Linux/2012-07/64113.htmCentOS编译安装MongoDB http://www.linuxidc.com/Linux/2012-02/53834.htmCentO...原创 2015-07-25 19:19:19 · 301 阅读 · 0 评论 -
使用Spring Data来操作MongoDB
MongoDB 是一个可扩展的、高性能的、开源的NoSQL数据库,跟传统的数据库不一样,MongoDB并不是将数据存储在表中,他将数据结构化为一个类似于JSON的文档中。这篇文章就是展示如何使用Java基于MongoDB和Spring Data创建一个CRUD应用。 Spring Data for MongoDBSpring Data for MongoDB提供了一个类似于基于Sp...原创 2015-08-06 14:48:09 · 161 阅读 · 0 评论 -
mongodb like查询
假如需要查找的字符串为s,则可以用db.tables.find({"name":/s/}),或者db.tables.find({"name":/^s/}) ,或者db.tables.find({"name":/s.*/}),或者db.tables.find({"name":/.s.*/})下面就分析下这几种查询的对应结果有什么不同:1)db.city.find({"extra_data....原创 2015-12-17 10:07:58 · 258 阅读 · 0 评论