![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MongoDB
_梓杰_
保持热爱,奔赴山海
展开
-
ycsb压测mongodb
ycsb maven jdk1.8+ ycsb有几个目录需要注意下:bin: - 目录下有个可执行的ycsb文件,是个python脚本,是用户操作的命令行接口。ycsb主逻辑是:解析命令行、设置java环境,加载java-libs,封装成可以执行的java命令,并执行workloads: - 目录下有各种workload的模板,可以基于workload模板进行个性化修改core: - 包含ycsb里各种核心实现,比如DB的虚拟类DB.java,各个db子类都要继承该类;原创 2021-12-31 10:15:53 · 851 阅读 · 0 评论 -
为什么MongoDB连接数满了?
文章目录原创 2021-09-11 23:58:58 · 2379 阅读 · 2 评论 -
MongoDB副本节点重建
文章目录1、备份原从节点目录2、从节点初始化实例3、主节点添加实例4、提升为secondary节点后执行5、验证1、备份原从节点目录cd /data/mongodbmv dbs dbsbakmv log logbakmkdir /data/mongodb/dbs/rs01mkdir /data/mongodb/logchown -R mongod.mongod /data/mongodb/dbs/rs012、从节点初始化实例systemctl start mongod3、主节点添加实原创 2021-05-30 12:08:01 · 539 阅读 · 0 评论 -
MongoDB 数据加密
xuehui:PRIMARY> db.xuehui.insertOne({"name":"xuehui","password":"970125"});{ "acknowledged" : true, "insertedId" : ObjectId("60a5fbb4a16fd1c94ac0024b")}xuehui:PRIMARY> db.xuehui.insertOne({"name":"zijie","password":"970125"});{ "acknowledged"原创 2021-05-20 14:04:38 · 1044 阅读 · 0 评论 -
python 扫描MongoDB数据库列表
# coding: utf-8import sysfrom pymongo import MongoClientfrom connect_db_forbatch import connect_mysql# 同步mongodb信息def sync_mongodb_infos(): tmp_dict = {} mongodb_list = [] exclube_dbs = ['__mongo_connector', 'admin', 'local', 'config', 't原创 2021-05-07 10:05:01 · 221 阅读 · 0 评论 -
MongoDB 写入策略与读一致性
db.currentOp({$or: [{ op: “command”, “query.createIndexes”: { $exists: true } },{ op: “insert”, ns: /.system.indexes\b/ }]})read concern原创 2021-05-04 23:19:33 · 963 阅读 · 0 评论 -
数据同步工具MongoShake
文章目录一、MongoShake1.1 MongoShake简介1.2 应用场景1.3 基本特性二、方案2.1 多活方案2.2 容灾方案三、验证3.1 环境介绍3.2 功能验证3.2.1 多活验证3.2.2 容灾验证四、问题总结一、MongoShake1.1 MongoShake简介 MongoShake是一个以go语言编写的通用的平台型服务,通过读取MongoDB集群的Oplog日志,对MongoDB的数据进行复制,后续通过操作日志实现特定需求。 MongoShake从源库抓取oplog数据原创 2021-03-24 16:20:50 · 1979 阅读 · 0 评论 -
Mongo查看连接、活跃会话opid脚本
#!/usr/bin/env python#-*- coding: UTF-8 -*-import refrom pymongo import MongoClientclient=MongoClient('127.0.0.1',27017)db = client.adminconnections_dict = db.command("serverStatus")["connections"] current_ops = db.current_op("true")current_client原创 2021-03-13 20:22:02 · 1302 阅读 · 0 评论 -
MongoDB添加索引
文章目录1.1 后台创建索引语法1.2 后台创建索引行为以及资源消耗1.3 单机/副本集下如何创建索引 默认情况下,当我们对一个比较热点的集合创建索引时,直到索引创建完毕,该集合都是无法读写的。1.1 后台创建索引语法db.collection.createIndex( { filed: 1 }, { background: true } )1.2 后台创建索引行为以及资源消耗当使用后台创建索引时,不会阻塞对该集合的读写操作,但是在索引创建完成之前,会阻塞对该集合别的创建索引操作。在创原创 2021-03-10 17:22:53 · 931 阅读 · 0 评论 -
MongoDB热备方案
文章目录原创 2021-03-10 14:14:14 · 2275 阅读 · 5 评论 -
MongoDB备份恢复—mongodump/mongorestore&mongoexport/mongoimport
文章目录一、MongoDB备份介绍1.1 备份工具1.2 备份工具区别二、备份/恢复mongodump/mongorestore三、数据导出/导入mongoexport/mongoimport一、MongoDB备份介绍1.1 备份工具mongoexport/mongoimport #导入/导出的是JSON格式或者CSV格式mongodump/mongorestore #导入/导出的是BSON格式1.2 备份工具区别JSON可读性强但体积较大,BSON则是二进制文件,体积小但几乎没原创 2021-03-09 11:03:30 · 616 阅读 · 2 评论 -
MongoDB状态值
文章目录一、db.serverStatus()1.1 锁信息1.2 全局锁信息1.3 内存信息1.4 assert信息1.5 连接信息1.6 网络流量1.7 操作延时信息1.8 各Read Concern级别操作数1.9 复制信息1.10 存储引擎信息二、db.stats()2.1 查看某个数据库统计信息2.2 查看某个集合统计信息三、db.currentOp()3.1 db.currentOp()查看当前数据库会话执行情况。3.2 重点关注3.3 关于kill会话3.4 杀掉慢会话3.5 db.killO原创 2020-10-24 21:59:48 · 1473 阅读 · 0 评论 -
MongoDB自增ID实现方案
db.t1.insert( { _id: "userid", seq: 0 })function getNextSequence(name) { var ret = db.t1.findAndModify( { query: { _id: name }, update: { $inc: { seq: 1 } }, new: true } );原创 2020-10-08 17:09:00 · 521 阅读 · 0 评论 -
分享!MongoDB常用命令整理
##mongodb常用命令###只有副本集有oplog,如果非集群,可以设置replSet#创建用户 所有用户相关操作都需要在admin下操作use.admin db.createUser({ user: 'root', // 用户名 pwd: '970125', // 密码 roles:[{ role: 'root', // 角色 db: 'admin' // 数据库 }]})db.createUser({ user: 'sansi', //原创 2020-09-12 19:16:18 · 530 阅读 · 0 评论 -
各数据库MVCC机制
文章目录一、MySQL二、Oracle三、SQL Server四、PostgreSQL五、MongoDB MVCC即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。一、MySQL InnoDB是一个多版本的存储引擎:它保存有关已更改行的旧版本的信息以支持事务性功能,如并发和回滚。这些信息存储在表空间中的原创 2020-08-04 16:05:36 · 760 阅读 · 0 评论 -
MongoDB分片部署
文章目录1 部署规划1.1 版本说明1.2 安装路径规划1.3 用户与组规划1.4 分片节点规划1.5 架构规划2 Sharded Cluster集群部署2.1 创建mongod用户2.2 安装mongodb软件2.3 配置环境变量2.4 禁用大内存页面2.5 修改用户限制2.6 修改网络、内存及资源限制相关内核参数2.7 关闭selinux和防火墙2.8 创建目录、keyFile并授权2.9 修改配置文件2.10 启动Sharded Cluster集群2.11 开启集群ke原创 2020-07-23 00:03:14 · 488 阅读 · 0 评论 -
MongoDB副本集部署文档
文章目录一、部署规划1.1 版本说明1.2 安装路径规划1.3 用户与组规划1.4 副本集节点规划1.5 架构规划二、副本集部署2.1 创建mongod用户2.2 安装mongodb软件2.3 配置环境变量2.4 禁用大内存页面2.5 修改用户限制2.6 修改网络、内存及资源限制相关内核参数2.7 关闭selinux和防火墙2.8 创建目录、keyFile并授权2.9 修改配置文件2.10 启动副本集2.11 开启用户认证2.12 配置副本节点永久只读一、部署规划1.1原创 2020-07-17 00:52:26 · 198 阅读 · 0 评论 -
MongoDB三大系统库详解
一、概述 每个mongod实例都有自己的local数据库,该数据库存储复制过程中使用的数据以及其他特定于实例的数据。副本集不会复制local数据库中的集合。local库集合列表oplog.rsreplset.electionreplset.minvalidreplset.oplogTruncateAfterPointstartup_logsystem.profilesystem.replsetsystem.rollback.idoplog.rsreplset.electionr原创 2020-07-05 22:03:09 · 4350 阅读 · 0 评论 -
MongoDB各类场景的故障恢复概要(持续更新)
文章目录一、CPU/IOPS打满三、活跃连接数打高四、磁盘打高五、副本集故障5.1 复制延迟5.2 复制中断六、分片故障6.1 shard节点宕机七、数据丢失一、CPU/IOPS打满结合mongostat和mongotop分析MongoDB各资源情况以及读写耗时。#查看最近慢日志db.system.profile.find().sort({$natrual: -1})- 全表扫描关注关键字“COLLSACN、docsExamined”,对全表扫描查询(或者更新/删除)建立合理索引进行优化。-原创 2020-06-27 01:20:26 · 1047 阅读 · 0 评论 -
快速搭建一套免费云上MongoDB集群
文章目录一、简介二、如何快速搭建一套MongoDB集群三、总结一、简介 MongoDB官方不止提供了社区版和企业版的数据库,还有MongoDB Atlas:Fully managed cloud database。二、如何快速搭建一套MongoDB集群2.1 首先打开MongoDB的官方网站,进入MongoDB Atlas:2.2 然后划到最下方,如果没有账号下进行注册,这里我们选择...原创 2019-12-01 14:26:42 · 373 阅读 · 0 评论 -
MongoDB优化浅析
文章目录MongoDB优化浅析一、MongoDB优化整体思路二、慢查询日志分析2.1 简介2.2 慢查询日志的使用2.3 慢查询日志内容详解三、执行计划分析3.1 简介3.2 执行计划内容详解四、索引分析4.1 基本命令4.2 索引分类4.2 索引的属性五、总结MongoDB优化浅析一、MongoDB优化整体思路 MongoDB的查询语句优化与关系型数据库类似,简单来说就是通过慢查询日志找...原创 2019-12-01 14:23:35 · 817 阅读 · 0 评论 -
MongoDB分片
MongoDB分片一、MongoDB分片介绍1.1 什么是MongoDB分片1.2 分片技术的优势二、集群数据分布2.1 Chunk是什么2.2 分片集群的数据分布2.3 chunk size的选择2.4 chunk分裂及迁移2.5 数据区分2.5.1 以范围为基础的分片2.5.2 基于哈希的分片2.6 分片键选择建议三、总结一、MongoDB分片介绍1.1 什么是MongoDB分片 对于...原创 2019-09-22 19:18:15 · 433 阅读 · 0 评论 -
MongoDB副本集
MongoDB副本集一、副本集基础1.1 副本集概念1.2 副本集使用场景1.3 副本集的故障转移1.4 副本集相关命令二、副本集成员2.1 主节点2.2 副本节点2.2.1 优先级为0的节点2.2.2 隐藏节点2.2.3 延迟节点2.2.4 非投票节点2.3 仲裁节点三、副本集选举机制四、副本集同步机制五、总结一、副本集基础1.1 副本集概念 MongoDB副本集是由一个主节点和多个副本...原创 2019-09-08 14:11:19 · 414 阅读 · 0 评论 -
MongoDB日志浅析
文章目录一、系统日志二、Journal日志三、oplog主从日志与慢查询日志3.1 固定集合3.2 oplog主从日志3.3 慢查询日志四、总结 MongoDB中主要有四种日志。分别是系统日志、Journal日志、oplog主从日志、慢查询日志。这些日志记录着MongoDB数据库不同的信息。下面分别介绍这四种日志:一、系统日志 系统日志在MongoDB中十分重要,它记录MongoDB启动...原创 2019-09-01 22:31:18 · 2443 阅读 · 0 评论 -
初探MongoDB
文章目录一、什么是MongoDB1.1 基本介绍1.2 BSON1.3 MongoDB关键特性1.4 默认库二、MongoDB的存储引擎2.1 WirdeTiger2.1.1 基本介绍2.1.2 文档级别的并发控制2.1.3 检查点2.1.4 预写记录日志2.1.5 内存使用2.2 In-Memory2.2.1 基本介绍2.2.2 文档级别的并发2.2.3 内存使用2.2.4 持久化2.2.5 o...原创 2019-08-27 09:25:14 · 289 阅读 · 0 评论