摘要:
备份 1. 只有在有信心能在紧急情况下完成迅速部署的情况下,备份才是有用的。所以,无论选择了哪种备份技术,一定要对备份及恢复备份的操作进行练习,知道了然于心。 2. 通常情况下,应对副本集的非主节点(与主节点相对)进行备份。 3. 对服务器进行备份 1). 文件系统快照:使用快照备份需要开启日记系统 阅读全文
摘要:
了解应用的动态 1. 了解正在进行的操作:db.currentOp() , 可以加过滤条件,从而只显示符合条件的结果。 1). 寻找有问题的操作:db.currentOp() 最常见的操作就是用来寻找速度较慢的操作 2). 终止操作的执行:将该操作的opid作为参数,执行db.killOp()来终止 阅读全文
摘要:
副本集的组成 1. 同步:MongoDB的复制功能是使用操作日志oplog实现的,操作日志包含了主节点的每一次写操作。oplog是主节点的local数据库中的一个固定集合。备份节点通过查询整个集合就可以知道要进行 复制的操作了。每个备份节点都维护者自己的oplog,记录每一次从主节点复制数据的操作。 阅读全文
摘要:
创建副本集 1. 副本集:副本集时一组服务器,其中有一个主服务器(primary),用于处理客户端请求;还有多个备份服务器(secondary),用于保存主服务器的数据副本。如果主服务器崩溃了,备份服务器会 自动将齐中一个成员升级为新的主服务器。 2. 几个关键概念: 1). 客户端在单个服务器上可 阅读全文
摘要:
特殊索引和集合 1. 固定集合:固定集合需要事先创建好看,而且它的大小是固定的。当固定集合被占满时,如果再插入新文档,固定集合会自动将最老的文档从集合中删除。 2. 创建固定集合:db.createCollection("my_collection",{"capped":true,"size":10 阅读全文
摘要:
创建、更新和删除文档 1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). 批量插入,batchInsert : db.foo.insert([{"_id":0},{"_id":1}]) 3). 要是只导入原始数据(例如:从数据fe 阅读全文
摘要:
查询 1. MongoDB使用find来进行查询。find的第一个参数决定了要返回哪些文档,这个参数是一个文档,用于指定查询条件。空的查询会匹配集合的全部内容。要是不指定查询,默认是{}。 2. 可以通过find的第二个参数来指定想要的键。这样即会节省传输的数量,又能节省客户端解码文档的时间和内存消 阅读全文
摘要:
MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展。面向文档的数据模型使它能很容易的再多台服务器之间进行分割。自动处理跨越集群的数据和负载,自动重新分配文档。 以及将用户请求路由到正确的机器上。 3. 丰富的功能:索 阅读全文
摘要:
分片 1. 分片(sharding)是指将数据拆分,将其分散存放在不同的机器上的过程。有时也用分区(partitioning)来表示这个概念。将数据分散到不同的机器上,不需要功能强大的大型计算机就可以 存储更多的数据,处理更大的负载。 2. MongoDB支持自动分片(autosharding),可 阅读全文