MongoDB学习与应用
介绍MongoDB的安装、各种场景的使用,以及集群配置。
slimina
这个作者很懒,什么都没留下…
展开
-
MongoDB 地理位置索引
关于LBS相关项目,一般存储每个地点的经纬度的坐标, 如果要查询附近的场所,则需要建立索引来提升查询效率。 Mongodb专门针对这种查询建立了地理空间索引。 2d和2dsphere索引,分别是针对平面和球面。原创 2015-04-05 10:54:48 · 6895 阅读 · 0 评论 -
MongoDB log4j 日志整合,统一管理
在分布式系统当中,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出。为了方便对这些日志进行统一管理和分析。我们可以将日志统一输出到指定的数据库系统中,而再由日志分析系统去管理。而这个储存日志的数据库目前最适合的还是mongodb,一是因为它轻便、简单,与log4j整合方便,对系统的侵入性低。二是因为它与大型的关系型数据库相比有不少优势,比如查询快速、储存结构(json)利于扩展、免费等原创 2015-03-21 20:16:57 · 3474 阅读 · 0 评论 -
MongoDB3.0介绍
MongoDB 3.0 版本标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大、灵活而且易于管理的数据库管理系统。此版本在性能和伸缩性方面都有非常巨大的提升,通过在存储层的大幅改进实现。内建 WiredTiger存储引擎,这是一项难以置信的技术实现,提供无门闩、非堵塞算法来利用先进的硬件平台(如大容量芯片缓存和线程化架构)来提升性能。通过 WiredTiger ,MongoDB 3.0 实现了文档级别的并发控制,因此大幅提升了大并发下的写负载。透明的磁盘压缩技术减少对存储的容量要求达 80%。原创 2015-03-21 20:15:38 · 2150 阅读 · 0 评论 -
MongoDB 图形管理工具介绍
MongoDB也有像类似于PL/SQL一样的界面操作工具操作MongoDB。下面就来介绍几款不同的界面工具。原创 2015-03-21 20:11:53 · 4588 阅读 · 1 评论 -
MongoDB 运维管理
MongoDB在bin目录下提供了一系列有用的工具,可以很方便的进行运维管理。原创 2015-03-21 19:15:35 · 2906 阅读 · 0 评论 -
MongoDB 监控备份工具MMS
MongoDB的管理服务(MMS)是用于监控和备份MongoDB的基础设施服务。其中监控的服务是免费的,备份的服务是需要收费的。并提供了手机版,可以在google play商城上下载,名字叫做MongoDB Management Service(MMS)。原创 2015-03-21 14:30:27 · 5431 阅读 · 0 评论 -
MongoDB nagios check_mongodb插件监控
当在生产环境下使用某种服务时,相应的监控措施也应当完善起来,来检测服务是否正常和获取相关信息是很有必要的。原创 2015-03-21 14:20:33 · 1648 阅读 · 0 评论 -
MongoDB mongostat、mongotop和实时监控工具motop
MongoDB自带了mongostat 和 mongotop 这两个命令来监控MongoDB的运行情况。这两个命令对于我们处理MongoDB数据库变慢等等问题非常有用,能详细的统计MongoDB当前的状态信息。除此之外,还可以用db.serverStatus()、db.stats()、开启profile功能通过查看日志进行监控分析。原创 2015-03-21 12:29:07 · 10379 阅读 · 0 评论 -
MongoDB 清理数据
删除mongodb集合中的数据可以使用remove()函数。remove()函数可以接受一个查询文档作为可选参数来有选择性的删除符合条件的文档。remove()函数不会删除集合本身,同时,原有的索引也同样不会被删除。原创 2015-03-21 12:20:43 · 31545 阅读 · 0 评论 -
MongoDB 日志管理
MongoDB默认情况下不会自动的切换轮转日志的,这将会导致日志日渐增大,在繁忙的业务下,日志增长量非常大的。如此之大的日志文件,查看某天的日志也不太方便。如是,需要对mongodb 日志文件进行切换,保留7天。原创 2015-03-21 12:17:54 · 4280 阅读 · 0 评论 -
MongoDB 备份恢复工具mongobackup
mongobackup 是用于复制集的增量备份与恢复工具,恢复时,需要结合全量备份与恢复使用。原创 2015-03-21 12:13:02 · 5102 阅读 · 0 评论 -
MongoDB 备份脚本
适用于mongodb任何架构(standalon、replic set、sharding)备份脚本。原创 2015-03-21 12:10:18 · 1167 阅读 · 0 评论 -
MongoDB 备份与还原
mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport,上一节我们已经介绍过。原创 2015-03-21 12:04:47 · 5947 阅读 · 1 评论 -
MongoDB 导入与导出
mongodb自带导入导出命令:mongoexport和mongoimport原创 2015-03-21 11:35:36 · 1204 阅读 · 0 评论 -
MongoDB oplog剖析
MongoDB 的Replication是通过一个日志来存储写操作的,这个日志就叫做oplog。journal是Mongodb中的redo log,而Oplog则是负责复制的binlog(对应Mysql)。在默认情况下,oplog分配的是5%的空闲磁盘空间。通常而言,这是一种合理的设置。可以通过mongod –oplogSize来改变oplog的日志大小。Oplog和数据刷新到磁盘的时间是60s,原创 2015-03-21 11:26:01 · 8948 阅读 · 0 评论 -
MongoDB journal介绍
Mongodb在1.8版本之后开始支持journal,就是我们常说的redo log,用于故障恢复和持久化。 一、启动 启动journal功能使用mongod --journal选项,也可以关闭--nojournal,在2.0之后的版本,journal都是默认打开的,以确保数据安全。在version 二、文件、恢复和备份 journal存放在数据文件的/journal/文件夹下,运行时的文件一般是原创 2015-03-21 11:20:25 · 3071 阅读 · 0 评论 -
MongoDB 让secondary支持读操作
对于replica set 中的secondary 节点默认是不可读的。在写多读少的应用中,使用Replica Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操作。原创 2015-03-19 21:44:34 · 6218 阅读 · 1 评论 -
MongoDB 性能优化之常用技巧
MongoDB 性能优化之常用技巧。转至:http://blog.csdn.net/sd0902/article/details/16119709原创 2015-03-19 21:42:16 · 1953 阅读 · 0 评论 -
MongoDB 性能优化之分页查询
最常见的分页采用的是skip+limit这种组合方式,这种方式对付小数据倒也可以,但是对付上几百上千万的大数据,只能力不从心。通过如下思路改善,可以大大提高查询速度:条件查询+排序+限制返回记录。边查询,边排序,排序之后,抽取第一次分页中的最后一条记录,作为第二次分页的条件,进行条件查询,以此类推....原创 2015-03-19 21:39:39 · 19992 阅读 · 1 评论 -
MongoDB 性能优化之索引优化
索引是用来加快查询速度的,事物都有双面性的,同时在每次插入、更新和删除操作时都会产生额外的开销。索引有时并不能解决查询慢的问题,一般来说,返回集合中一半以上的结果,全表扫描要比查询索引更高效些。创建太多索引,会导致插入非常慢,同时还会占用很大空间。可以通过一些工具来分析查询的效率来进一步优化索引。原创 2015-03-19 21:39:25 · 8259 阅读 · 0 评论 -
MongoDB 提高安全技巧
MongoDB提供了一系列组件来提升数据的安全性。使用下面几条可以用来改善MongoDB服务器安全性。原创 2015-03-19 21:36:28 · 942 阅读 · 0 评论 -
MongoDB 安全介绍
MongoDB 安全介绍:权限、角色及用户授权......原创 2015-03-19 21:35:13 · 823 阅读 · 0 评论 -
MongoDB 索引之全文索引
mongodb full text search(fts:全文搜素)是在版本2.4新加的特性。在以前的版本,是通过精确匹配和正则表达式来查询,这效率是很低的。全文索引,能够从大量的文本中搜索出所需的内容,内置多国语言和分词方法。不支持宇宙第一语言—中文。全文索引会导致mongodb写入性能下降,因为所有字符串都要拆分,存储到不同地方。原创 2015-03-19 21:34:07 · 8852 阅读 · 4 评论 -
MongoDB 索引之介绍与使用
MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致,大部分优化MySQL索引的技巧也同样适用于mongodb。由于集合中的键(字段)可以是普通数据类型,也可以是子文档。MongoDB可以在各种类型的键上创建索引。索引是对数据库表中一列或多列的值进行排序的一种特殊的数据结构,存储在一个易于遍历读取的数据集合中。当查询中用到某些条件时,可以对该键建立索引,能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询原创 2015-03-19 21:07:42 · 2066 阅读 · 0 评论 -
MongoDB Capped Collection
capped collections 是性能出色的有着固定大小的集合,以LRU(Least Recently Used 最近最少使用)规则和插入顺序进行age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创建时要预先指定大小。如果空间用完,新添加的对象将会取代集合中最旧的对象原创 2015-03-18 21:29:30 · 1936 阅读 · 0 评论 -
MongoDB MapReduce使用
MapReduce是个非常灵活和强大的数据聚合工具。它的好处是可以把一个聚合任务分解为多个小的任务,分配到多服务器上并行处理。原创 2015-03-18 21:19:41 · 848 阅读 · 0 评论 -
MongoDB 高级查询(二)
介绍mongodb的筛选返回值、游标、存储过程、Group及聚合函数的使用......原创 2015-03-18 21:00:11 · 804 阅读 · 0 评论 -
MongoDB 高级查询(一)
介绍mongodb常用查询函数、正则等.......原创 2015-03-18 20:52:02 · 1083 阅读 · 0 评论 -
MongoDB 文档的嵌入和引用
mongodb是介于关系型与非关系型数据之间的,mongodb的join查询可以通过引用来实现。 可以将文档内容嵌入到另一个文档中,也可以将文档内容引用到另一个文档中。 嵌入意味着要把某一类型的数据,如包含更多数据的数组,嵌入到文档本身。 引用意味着创建一个引用,包含另一个文档的数据。相当于关系型数据库。原创 2015-03-18 20:42:00 · 1415 阅读 · 0 评论 -
MongoDB Master+Master同步
MongoDB支持主主复制,但是在大部分情况下官方不推荐使用。原创 2015-03-18 20:29:31 · 1441 阅读 · 0 评论 -
MongoDB 常见集群部署Replica Sets + Sharding
MongoDB Auto-Sharding 解决了海量存储和动态扩容的问题,但离实际生产环境所需的高可靠、高可用还有些距离,所以有了"Replica Sets + Sharding"的解决方案。原创 2015-03-17 21:58:10 · 2247 阅读 · 0 评论 -
MongoDB 分片片键选择与设计
MongoDB的分片机制能够帮助你将你的数据库划分到多个服务器,通常在生产环境中可以将数据集划分到多个副本集中。但分片最好在数据库建立早期划分,因为一旦你的数据大于512GB那么分片划分就不是那么容易了。这受到MongoDB纵向扩展能力的限制。为了实现分片,你必须向MongoDB指定使用哪个索引作为片键,然后MongoDB会根据你的设置将你的数据划分到有着相同片键的数据块(Chunk)中。而后这些数据块将根据片键的大致顺序分散到副本集中。原创 2015-03-17 21:34:50 · 3773 阅读 · 0 评论 -
MongoDB Sharding分片管理
这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding 的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB 集群。MongoDB的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。原创 2015-03-17 21:32:09 · 1950 阅读 · 0 评论 -
MongoDB Replica Sets管理
MongoDB Replica Sets 不仅提供高可用性的解决方案,它也同时提供负载均衡的解决方案,增减Replica Sets 节点在实际应用中非常普遍,例如当应用的读压力暴增时,3 台节点的环境已不能满足需求,那么就需要增加一些节点将压力平均分配一下。原创 2015-03-17 21:28:16 · 802 阅读 · 0 评论 -
MongoDB Sharding集群部署
和Replica Set类似,都需要一个仲裁节点,但是Sharding还需要配置节点和路由节点。就三种集群搭建方式来说,这种是最复杂的。原创 2015-03-17 21:26:12 · 6334 阅读 · 0 评论 -
MongoDB 副本集介绍
副本集包括三种节点:主节点、从节点、仲裁节点。主节点负责处理客户端请求,读、写数据, 记录在其上所有操作的oplog;从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。默认情况下,从节点不支持外部读取,但可以设置;副本集的机制在于主节点出现故障的时候,余下的节点会选举出一个新的主节点,从而保证系统可以正常运行。仲裁节点不复制数据,仅参与投票。由于它没有访问的压力,比较空闲,因此不容易出故障。由于副本集出现故障的时候,存活的节点必须大于副本集节点总数的原创 2015-03-17 20:52:05 · 1443 阅读 · 0 评论 -
MongoDB Replica Set集群部署
复制集是一个带有故障转移的主从集群。是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复。复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一个主结点。该主结点被称为primary,一个或多个从结点被称为secondaries。primary结点基本上就是master结点,不同之处在于primary结点在不同时间可能是不同的服务器。如果当前的主结点失效了,复制集中的其余结点将会试图选出一个新的主结点。复制集模式的好处是,一切自动化。首先,复制集模式本身做了大量的管理工作,自动管原创 2015-03-16 21:01:31 · 2467 阅读 · 0 评论 -
MongoDB Master-Slaver集群部署
一个是以主模式启动,另一个属于从模式启动。原创 2015-03-16 20:45:40 · 2753 阅读 · 1 评论 -
MongoDB 集群介绍
Mongodb一共有三种集群搭建的方式:Master-Slaver(主从)、Replica Set(副本集)、Sharding(切片)。原创 2015-03-16 20:35:01 · 1394 阅读 · 0 评论 -
MongoDB 整合Spring(spring-data-mongodb)
Spring Data for MongoDB是Spring Data的一个子模块。 目标是为MongoDB提供一个相近的一致的基于Spring的编程模型。Spring Data for MongoDB核心功能是映射POJO到Mongo的DBCollection中的文档,并且提供Repository 风格数据访问层。原创 2015-03-15 23:32:07 · 18704 阅读 · 1 评论