随笔分类 - MongoDB
摘要:Read Preferences/读写分离 有时候为了考虑应用程序的性能或响应性,为了提高读取操作的吞吐率,一个常见的措施就是进行读写分离,MongoDB副本集对读写分离的支持是通过Read Preferences特性进行支持的,这个特性非常复杂和灵活。以下几种应用场景可能会考虑对副本集进行读写分离
阅读全文
摘要:简单副本集测试这一节主要对上一节搭建的副本集做一些简单的测试。我们首先进入primary节点(37017),并向test.test集合里插入10W条数据:1. rs0:PRIMARY> for(var i=0;i db.getMongo().setSlaveOk();3. rs0:SECONDARY> db.test.count()4. 100000注意:在secondary节点上执行操作之前需要执行db.getMongo().setSlaveOk()命令,该设置允许连接从非master端读取数据。secondary节点宕机:模拟副本集中一个secondary节点宕机的情况,...
阅读全文
摘要:MongoDB副本集概述以下图片摘自MongoDB官方文档:http://docs.mongodb.org/manual/core/replication-introduction/Primary节点接收客户端所有的写操作,整个副本集只会有一个primary节点。MongoDB副本集提供严格的一致性。主节点将所有的操作写入一个叫oplog的capped collection(这个collection的大小一般为磁盘剩余空间的5%,不同的系统可能不一样,详见http://docs.mongodb.org/manual/core/replica-set-oplog/)中,secondary节点通过
阅读全文
摘要:插入、查询和更新 插入:MongoDB会根据片键和conifg中的信息写入到指定的分片上。 读取:以下内容摘抄自《深入学习MongoDB》 关于读取:上一节故障恢复中已经有所验证。 更新:如果要更新单个文档一定要在片键中使用片键(update的第一个参数)。我们现在OSSP10.bizuser(已经
阅读全文
摘要:分片逻辑图上节搭建的分片集群从逻辑上看如下图所示:片:可以普通的mongod进程,也可以是副本集。但是即使一片内有多台服务器,也只能有一个主服务器,其他的服务器保存相同的数据。mongos路由进程:它路由所有请求,然后将结果聚合。它不保存存储数据或配置信息。配置服务器:存储集群的配置信息。整个分布式的集群通过mongos对客户端提供了一个透明统一的接口,客户端不需要关系具体的分片细节,所有分片的动作都是自动执行的,那是如何做到透明和自动的。切分数据上节中建立好集群后,默认的是不会将存储的每条数据进行分片处理,需要在数据库和集合的粒度上都开启分片功能。开启test库的分片功能:1. ./b...
阅读全文
摘要:环境准备Linux环境主机OS备注192.168.32.13 CentOS6.3 64位 普通PC192.168.71.43 CentOS6.2 64位 服务器,NUMA CPU架构MongoDB版本:mongodb-linux-x86_64-2.4.1,下载地址:www.mongodb.org/downloads.MongoDB安装:分别在两台机器上安装好mongodb 2.4.1,安装路径都为/url/local/mongodb-2.4.1/cd /usr/local/src/wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64
阅读全文