mongodb
文章平均质量分 81
cdhongwan
这个作者很懒,什么都没留下…
展开
-
MongoDB管理与开发精要《红丸出品》22.1~22.5 Sharding分片之部署
第二十二章 Sharding分片 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB集群。 MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。 要构建一个 MongoD原创 2012-06-23 18:29:54 · 564 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》23 结合应用Replica Sets + Sharding
第二十三章 Replica Sets + Sharding MongoDB Auto-Sharding 解决了海量存储和动态扩容的问题,但离实际生产环境所需的高可靠、高可用还有些距离,所以有了” Replica Sets + Sharding”的解决方案: l Shard: 使用 Replica Sets,确保每个数据节点都具有备份、自动容错转移、自动恢复能力。 l Config:原创 2012-06-23 18:30:02 · 1137 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》20.4 性能监控之db.stats
20.4 db.stats db.stats 查看数据库状态信息。使用样例如下: > db.stats() { "db" : "test", "collections" : 7, --collection数量 "objects" : 28, --对象数量原创 2012-06-22 22:30:51 · 582 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》20.3 性能监控之db.serverStatus
20.3 db.serverStatus 这个命令是最常用也是最基础的查看实例运行状态的命令之一,下面我们看一下它的输出: > db.serverStatus()原创 2012-06-22 22:29:59 · 764 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》17 explain执行计划
第十七章 explain执行计划 MongoDB 提供了一个 explain 命令让我们获知系统如何处理查询请求。利用 explain 命令,我们可以很好地观察系统如何使用索引来加快检索,同时可以针对性优化索引。 > db.t5.ensureIndex({name:1}) > db.t5.ensureIndex({age:1}) > db.t5.find({age:{原创 2012-06-22 22:24:57 · 607 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》16 索引
第十六章 索引 MongoDB提供了多样性的索引支持,索引信息被保存在system.indexes中,且默认总是为_id创建索引,它的索引使用基本和MySQL等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现及使用接口并不足为奇。 16.1 基础索引 在字段age上创建索引,1(升序);-1(降序)原创 2012-06-22 22:23:49 · 390 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》1.1 为什么要用NoSQL
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB使用C++开发。MongoDB的官方网站地址是:http://www.mongodb.org/,读者朋友们可以在此获得更详细的信息. 1.1为什么要用NoSQL 1.1.1 NoSQL简介 NoSQL,全称是”Not原创 2012-06-15 22:41:17 · 1276 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》10 数据导入mongoimport
第十章数据导入mongoimport 在上例中我们讨论的是导出工具的使用,那么本节将讨论如何向表中导入数据 10.1 导入JSON数据 我们先将表user删除掉,以便演示效果 > db.user.drop(); true > show collections; system.indexes > 然后导入数据 [root原创 2012-06-22 21:43:28 · 611 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》9 数据导出 mongoexport
第九章数据导出 mongoexport 作为DBA,经常会碰到导入导出数据的需求,下面就介绍实用工具mongoexport和mongoimport的使用方法,望你会有所收获。 假设库里有一张user表,里面有2条记录,我们要将它导出 > use my_mongodb switched to db my_mongodb > db.user.find(); { "_id"原创 2012-06-22 21:42:06 · 375 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》6 Capped Collection
第六章 Capped Collection 6.1 简单介绍 capped collections是性能出色的有着固定大小的集合,以LRU(Least Recently Used最近最少使用)规则和插入顺序进行age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创建时要预先指定大小。如果空间用完,新添加的对象将会取代集合中最旧的对象。 6.2 功能特点 可以插入及更新,原创 2012-06-22 16:21:57 · 451 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》8 MapReduce
第八章 MapReduce MongoDB的MapReduce相当于Mysql中的"group by",所以在MongoDB上使用 Map/Reduce 进行并行"统计"很容易。 使用MapReduce要实现两个函数 Map函数和Reduce函数,Map函数调用emit(key, value),遍历collection中所有的记录,将key与value传递给Reduce函数进原创 2012-06-22 16:25:35 · 584 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》15 进程控制
第十五章 进程控制 DBA经常要解决系统的一些查询性能问题,此时一般的操作习惯是先查看有哪些进程,然后将异常的进程杀掉,那么MongoDB是怎么样处理的呢? 15.1 查看活动进程 查看活动进程,便于了解系统正在做什么,以便做下一步判断 > db.currentOp(); > // 等同于: db.$cmd.sys.inprog.findOne() { inprog原创 2012-06-22 22:22:22 · 419 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》20.1 性能监控之mongosniff
第二十章 性能监控 20.1 mongosniff 此工具可以从底层监控到底有哪些命令发送给了MongoDB去执行,从中就可以进行分析: 以root身份执行: ./mongosniff --source NET lo 然后其会监控位到本地以localhost监听默认27017端口的MongoDB的所有包请求,如执行”show dbs” 操作原创 2012-06-22 22:27:52 · 809 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》20.5 性能监控之第三方工具
20.5第三方工具 MongoDB从一面世就得到众多开源爱好者和团队的重视,在常用的监控框架如 cacti、Nagios、Zabbix等基础上进行扩展,进行MongoDB的监控都是非常方便的,有兴趣的朋友可以自已去多试试。 ------------------------------------------------------------------- 《MongoDB管理与原创 2012-06-22 22:31:57 · 695 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》19 性能优化
第十九章 性能优化 如果nscanned(扫描的记录数)远大于nreturned(返回结果的记录数)的话,那么我们就要考虑通过加索引来优化记录定位了。 reslen 如果过大,那么说明我们返回的结果集太大了,这时请查看find函数的第二个参数是否只写上了你需要的属性名。 对于创建索引的建议是:如果很少读,那么尽量不要添加索引,因为索引越多,写操作会越慢。如果读量很大,那么创建索引还是比较划原创 2012-06-22 22:26:33 · 1381 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》18 优化器profile
第十八章 优化器profile 在MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是MongoDB Database Profiler。所以MongoDB不仅有,而且还有一些比MySQL的Slow Query Log更详细的信息。 18.1 开启 Profiling 功能 有两种方式可以控制 Profiling 的开关和级别原创 2012-06-22 22:25:48 · 883 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》11 数据备份mongodump
第十一章数据备份mongodump 可以用mongodump来做MongoDB的库或表级别的备份,下面举例说明: 备份my_mongodb数据库 [root@localhost bin]# ./mongodump -d my_mongodb connected to: 127.0.0.1 DATABASE: my_mongodb to dump/my_原创 2012-06-22 21:45:20 · 664 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》22.6 Sharding分片之管理维护
22.6 管理维护Sharding 22.6.1列出所有的Shard Server > db.runCommand({ listshards: 1 }) --列出所有的Shard Server { "shards" : [ { "_id" : "shard000原创 2012-06-23 18:29:58 · 645 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》21.4.3 管理维护Replica Sets之增减节点
21.4.3增减节点 MongoDB Replica Sets不仅提供高可用性的解决方案,它也同时提供负载均衡的解决方案,增减Replica Sets节点在实际应用中非常普遍,例如当应用的读压力暴增时,3台节点的环境已不能满足需求,那么就需要增加一些节点将压力平均分配一下;当应用的压力小时,可以减少一些节点来减少硬件资源的成本;总之这是一个长期且持续的工作。 21.4.3.1 增加节点 官方原创 2012-06-23 18:29:52 · 992 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》21.4.2 管理维护Replica Sets之故障转移
21.4.2故障转移 复制集比传统的Master-Slave有改进的地方就是他可以进行故障的自动转移,如果我们停掉复制集中的一个成员,那么剩余成员会再自动选举出一个成员,做为主库,例如: 我们将28010这个主库停掉,然后再看一下复制集的状态 1、杀掉28010端口的MongoDB [root@localhost bin]# ps aux|grep mongod r原创 2012-06-23 18:29:43 · 647 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》21.3 复制集之主从配置信息
21.3主从配置信息 在local库中不仅有主从日志oplog集合,还有一个集合用于记录主从配置信息 –system.replset rs1:PRIMARY> use local switched to db local rs1:PRIMARY> show collections oplog.rs system.replset rs1:PRIMARY> db.syst原创 2012-06-23 18:29:01 · 497 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》21.1 复制集之如何部署
第二十一章 ReplicaSets复制集 MongoDB支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只有一台是用于写操作。正是由于这个情况,为MongoDB提供了数据一致性的保障。担当Primary角色的机器能把读操作分发给slave。 MongoDB 高可用可用分两种: l Master-Slave 主从复制: 只需要在某一个服务启动时加原创 2012-06-23 18:28:33 · 503 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》5.3 存储过程
5.3存储过程 MongoDB为很多问题提供了一系列的解决方案,针对于其它数据库的特性,它仍然毫不示弱,表现的非比寻常。 MongoDB同样支持存储过程。关于存储过程你需要知道的第一件事就是它是用javascript来写的。也许这会让你很奇怪,为什么它用javascript来写,但实际上它会让你非常满意,MongoDB存储过程是存储在db.system.js表中的,我们想象一个简单的sql自定原创 2012-06-22 16:18:13 · 419 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》21.4.1 管理维护Replica Sets之读写分离
21.4管理维护Replica Sets 21.4.1读写分离 有一些第三方的工具,提供了一些可以让数据库进行读写分离的工具。我们现在是否有一个疑问,从库要是能进行查询就更好了,这样可以分担主库的大量的查询请求。 1、 先向主库中插入一条测试数据 [root@localhost bin]# ./mongo --port 28010 MongoDB shell ve原创 2012-06-23 18:29:40 · 736 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》21.2 复制集之主从操作日志oplog
21.2主从操作日志oplog MongoDB的Replica Set架构是通过一个日志来存储写操作的,这个日志就叫做”oplog”。 oplog.rs 是一个固定长度的 capped collection,它存在于”local”数据库中,用于记录 Replica Sets 操作日志。在默认情况下,对于64位的MongoDB,oplog是比较大的,可以达到5%的磁盘空间。oplog的大小是可以通原创 2012-06-23 18:28:45 · 703 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.2 停止数据库
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:07:12 · 474 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.1 启动数据库
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:06:58 · 411 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》3.2 数据存储结构
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:06:46 · 412 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》2.2 Linux平台的安装
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:06:12 · 367 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》1.2 初识MongoDB
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:05:22 · 521 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.9常用工具集
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:08:52 · 413 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.5 _id key
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:07:53 · 432 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》3.1 数据逻辑结构
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:06:30 · 462 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.3 连接数据库
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:07:24 · 384 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.4 插入记录
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:07:41 · 415 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》4.6 查询记录
---------------------------------------------------------------------------------------------------------------- 《MongoDB管理与开发精要》、《Redis实战》作者 @CD红丸 http://weibo.com/u/2446082491原创 2012-06-16 00:08:05 · 414 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》20.2 性能监控之Mongostat
20.2 Mongostat 此工具可以快速的查看某组运行中的MongoDB实例的统计信息,用法如下: [root@localhost bin]# ./mongostat 下面是执行结果(部分): [root@localhost bin]# ./mongostat insert query update delete ...... locked % idx miss原创 2012-06-22 22:29:09 · 713 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》14 命令行操作
第十四章 命令行操作 MongoDB shell不仅仅是一个交互式的shell,它也支持执行指定javascript文件,也支持执行指定的命令片断。 有了这个特性,就可以将MongoDB与linux shell完美结合,完成大部分的日常管理和维护工作。 14.1 通过eval参数执行指定语句 例如,需要查询test库的t1表中的记录数有多少,常用方法如下: [ro原创 2012-06-22 22:21:26 · 523 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》13 访问控制
第十三章 访问控制 官方手册中启动 MongoDB 服务时没有任何参数,一旦客户端连接后可以对数据库任意操作,而且可以远程访问数据库,所以推荐开发阶段可以不设置任何参数,但对于生产环境还是要仔细考虑一下安全方面的因素,而提高 MongoDB 数据库安全有几个方面: l 绑定IP内网地址访问MongoDB服务 l 设置监听端口 l 使用用户名和口令登录 13.1 绑定IP内网原创 2012-06-22 22:20:30 · 470 阅读 · 0 评论 -
MongoDB管理与开发精要《红丸出品》12 数据恢复mongorestore
第十二章 数据恢复mongorestore 由于刚刚已经做了备份,所以我们先将库my_mongodb删除掉 > use my_mongodb switched to db my_mongodb > db.dropDatabase() { "dropped" : "my_mongodb", "ok" : 1 } > show dbs admin (empty)原创 2012-06-22 22:18:42 · 691 阅读 · 0 评论