摘要: 1. 分片概念 分片是指跨机器拆分数据的过程,有时也会用术语分区。MongoDB既可以手工分片,也支持自动分片 2. 理解集群组件 分片的目标之一是由多个分片组成的集群对应用程序来说就像是一台服务器。为了此实现,需要在分片前面运行一个或多个称为mongos的路由进程。mongos维护着一个“目录”, 阅读全文
posted @ 2022-10-17 20:17 算法小生 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1. 控制成员状态 1.1 把主节点变为从节点 rs.stepDown() 1.2 阻止选举 如果需要对主节点维护,不想期间其他从节点选举为主节点,则可以 rs.freeze(10000) 维护完成后,只需要再次执行以下命令即可 rs.freeze(0) 2. 监控复制 2.1 获取状态 rs.st 阅读全文
posted @ 2022-10-17 20:17 算法小生 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1. Python连接副本集 from pymongo import MongoClient from bson.codec_options import CodecOptions from retry import retry import pytz import pandas as pd cla 阅读全文
posted @ 2022-10-17 20:16 算法小生 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 1. 管道阶段和可调参数 聚合框架基于管道的概念。他由多个阶段组成,每个阶段都会提供一组按钮或可调参数。每个阶段对其输入执行不同的数据处理任务,并生成文档已作为输出传递到下一阶段。 2. 阶段常见操作 匹配(match)、投射(project)、排序(sort)、跳过(skip)、限制(limit) 阅读全文
posted @ 2022-10-17 20:11 算法小生 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 1. 同步 复制是指多台服务器保持相同的数据副本。MongoDB通过保存操作日志(oplog)实现复制功能。 oplog存在于主节点local数据库中的一个固定集合,包含了主节点执行的每一次写操作。 每个节点维护自己的oplog,用来记录它从主节点复制的每个操作,从节点停止运行重启后,会从oplog 阅读全文
posted @ 2022-10-16 18:26 算法小生 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 1. 如何设计副本集 大多数:选取主节点时需要由大多数决定,主节点只有在得到大多数支持时才能继续作为主节点,写操作被复制到大多数成员时就是安全的写操作。这里的大多数定义为“副本集中一半以上的成员”,由此可看一般设置为奇数,如3个节点 2. 如何进行选举 MongoDB在3.2版本中引入了第一版复制协 阅读全文
posted @ 2022-10-16 18:26 算法小生 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 1. 复制简介 在MongoDB中,创建副本集后就可以使用复制功能了,副本集是一组服务器,其中一个是用于处理写操作的主节点,还有多个用于保存主节点的数据副本的从节点,如果主节点崩溃了,则从节点会从中选举中一个新的主节点 2. 创建副本集 mongod --replSet study --dbpath 阅读全文
posted @ 2022-10-16 18:25 算法小生 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 1. 地理空间索引及全文搜索 与Elasitcsearch一样,MongoDB同样支持地理空间索引及全文搜索,由于选型常用ES而非MongoDB此处略过 2. TTL索引 首先先了解下固定集合,其类似于循环队列 ,当满的时候,最旧的文档会被覆盖。而TTL索引允许允许为每个文档设置一个超时时间,当一个 阅读全文
posted @ 2022-10-16 13:40 算法小生 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1. $运算符如何使用索引 1.1 低效的运算符 $ne、$not查询可以使用索引,但不是很有效,尽量避免 1.2 范围查询 范围查询其实是多值查询,根据复核索引规则,尽可能先等值精确匹配,然后范围查询 1.3 OR查询 $or实际执行两个索引查询然后合并,应尽可能使用$in,而非$or 2. 索引 阅读全文
posted @ 2022-10-16 13:39 算法小生 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 1. 执行计划查看 db.getCollection('users').find({'username': 'shenjian'}).explain('executionStats') 结果查看,先大致看一遍,后续慢慢来深入理解 { "queryPlanner": { "plannerVersion 阅读全文
posted @ 2022-10-16 13:39 算法小生 阅读(72) 评论(0) 推荐(0) 编辑