mongoDB的读写分离
摘要:一、读写分离相关的理论 1.1、ReadPreference读偏好 1.2脏数据 1.3复制集的缺点 1.4读隔离 Read Concern 1.5写确认 Write Concern 二、springboot中实现读写分离 2.1 MongoDB连接池指定读模式 2.2、在代码层面动态切换 一、读写
阅读全文
posted @
2020-04-14 11:57
duanxz
阅读(10264)
推荐(2) 编辑
MongoDB里做表间关联
摘要:MongoDB与关系型数据库的建模还是有许多不同,因为MongoDB支持内嵌对象和数组类型。MongoDB建模有两种方式,一种是内嵌(Embed),另一种是连接(Link)。那么何时Embed何时Link呢?那得看两个实体之间的关系是什么类型。 一对一的关系:Embed,比如用户信息集合有Addre
阅读全文
posted @
2019-05-09 15:49
duanxz
阅读(18277)
推荐(1) 编辑
转载:mongodb的两阶段提交实战
摘要:项目中用到了mongodb(3.x版本),业务上需要操作mongodb的多个collections,希望要么同时操作成功,要么回滚操作保持数据的一致性,这个实际上要求在mongodb上实现事务功能,在网上查了下资料,发现了两阶段提交的方案,不过网上基本上都是翻译,很少有人具体分析原理的,今天花了些时
阅读全文
posted @
2019-04-28 17:51
duanxz
阅读(1822)
推荐(0) 编辑
MongoDB中的读写锁
摘要:1. MongoDB 使用的锁 MongoDB 使用的是“readers-writer”锁, 可以支持并发但有很大的局限性当一个读锁存在,许多读操作可以使用这把锁,然而, 当一个写锁的存在,一个单一的写操作会”exclusively“持有该锁,同一时间其它写操作不能使用共享这个锁;举个例子,假设一个
阅读全文
posted @
2019-04-19 17:53
duanxz
阅读(10042)
推荐(1) 编辑
MongoDB部署架构之三:Sharding
摘要:《MongoDB部署架构之二:MongoDB复制集》 《MongoDB部署架构之三:Sharding》 1MongoDB常见部署架构 1.1单复制集 1.2复制集 1.3分片集群 2 MongoDB分片介绍 2.1 分片的目的 2.2 MongoDB几个基本概念 2.3 分片设计思想 2.3.1合理
阅读全文
posted @
2019-04-18 15:54
duanxz
阅读(32492)
推荐(7) 编辑
MongoDB部署架构之二:MongoDB复制集
摘要:《MongoDB部署架构之二:MongoDB复制集》 《MongoDB部署架构之三:Sharding》 1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础。 1.1.1 复制集的目
阅读全文
posted @
2019-04-18 15:51
duanxz
阅读(4194)
推荐(0) 编辑
MongoDB的地理位置查询,以及和mysql的使用对比
摘要:MongoDB的一个特色就是具有丰富的查询接口,比如地理位置查询。 在地理位置查询上,MongoDB有着比传统关系型数据库的优势,下面举个例子。 当前移动互联网应用,按用户离目标门店距离排序上的场景很多。 比如: 一张门店表shop_list,表结构字段包括shop_id,shop_name,lng
阅读全文
posted @
2015-08-20 17:06
duanxz
阅读(1326)
推荐(0) 编辑
MongoDB之二基础入门(window/linux安装启动)
摘要:mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。 一window安装与启动 上MongoDB官网 ,下载页面:https://www.mongodb.com/download-center,我们发现有32bit和64bit,这个就要看你系统
阅读全文
posted @
2015-05-24 22:43
duanxz
阅读(767)
推荐(0) 编辑
MongoDB 慢日志字段解析
摘要:慢查询日志范例 "Thu Apr 2 07:51:50.985 I COMMAND [conn541] command animal.MongoUser_58 command: find { find: \"MongoUser_58\", filter: { $and: [ { lld: { $gt
阅读全文
posted @
2015-04-02 22:08
duanxz
阅读(1890)
推荐(0) 编辑
MongoDB 日志
摘要:MongoDB中有几种日志? 任何一种数据库都有各种各样的日志,MongoDB也不例外。MongoDB中有4种日志,分别是系统日志、Journal日志、oplog主从日志、慢查询日志等。这些日志记录着MongoDB数据库不同方面的踪迹。下面分别介绍这几种日志。 一、系统日志 系统日志在MongoDB
阅读全文
posted @
2015-03-29 09:21
duanxz
阅读(1053)
推荐(0) 编辑
MongoDB监控之一:运行状态、性能监控,分析
摘要:为什么要监控? 监控及时获得应用的运行状态信息,在问题出现时及时发现。 监控什么? CPU、内存、磁盘I/O、应用程序(MongoDB)、进程监控(ps -aux)、错误日志监控 1.4.1 MongoDB集群监控方式 db.serverStatus() db.serverStatus() 包含的监
阅读全文
posted @
2015-03-25 19:23
duanxz
阅读(9708)
推荐(1) 编辑
MongoDB分析工具之三:db.currentOp()
摘要:db.currentOp() db.currentOp是个好东西,顾名思义,就是当前的操作。在mongodb中可以查看当前数据库上此刻的操作语句信息,包括insert/query/update/remove/getmore/command等多种操作。直接执行 db.currentOp()一般返回一个
阅读全文
posted @
2015-03-25 19:19
duanxz
阅读(9495)
推荐(0) 编辑
MongoDB分析工具之一:explain()语句分析工具
摘要:explain(),语句分析工具 MongoDB 3.0之后,explain的返回与使用方法与之前版本有了很大的变化,介于3.0之后的优秀特色和我们目前所使用给的是3.0.7版本,本文仅针对MongoDB 3.0+的explain进行讨论。3.0+的explain有三种模式,分别是:queryPla
阅读全文
posted @
2014-06-04 17:02
duanxz
阅读(5594)
推荐(1) 编辑
MongoDB分析工具之二:MongoDB分析器Profile
摘要:MongoDB优化器profile 在MySQL 中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB 中是否有类似的功能呢?答案是肯定的,那就是MongoDB Database Profiler。Profiler默认是关闭的,你可以选择全部开启,或者有慢查询的时候开启。 1.开启pro
阅读全文
posted @
2014-06-04 14:57
duanxz
阅读(4305)
推荐(0) 编辑
MongoDB优化之三:如何排查MongoDB CPU利用率高的问题
摘要:遇到这个问题,99.9999% 的可能性是「用户使用上不合理导致」,本文主要介绍从应用的角度如何排查 MongoDB CPU 利用率高的问题。 Step1: 分析数据库正在执行的请求 用户可以通过 Mongo Shell 连接,并执行 db.currentOp() 命令,能看到数据库当前正在执行的操
阅读全文
posted @
2014-03-24 17:35
duanxz
阅读(982)
推荐(1) 编辑
MongoDB优化之二:常见优化方法2
摘要:连接池xml配置: <!-- mongodb访问实例工程类--> <mongo:mongo host="${mongo.location}" port="${mongo.port}"> <mongo:options connections-per-host="100" threads-allowed
阅读全文
posted @
2014-03-24 16:31
duanxz
阅读(1520)
推荐(0) 编辑
MongoDB优化之一:常见优化方法
摘要:常用性能优化方案 创建索引 限定返回结果数 只查询使用到的字段 采用capped collection 采用Server Side Code Execution 使用Hint,强制使用索引 Hint 虽然MongoDB查询优化器一般工作的很不错,但是也可以使用hint()来强迫MongoDB使用一个
阅读全文
posted @
2014-03-19 16:16
duanxz
阅读(2381)
推荐(1) 编辑
Java中实现MongoDB自增主键ID
摘要:1.了解MongoDB的ObjectId MongoDB的文档固定是使用“_id”作为主键的,它可以是任何类型的,默认是个ObjectId对象(在Java中则表现为字符串),那么为什么MongoDB没有采用其他比较常规的做法(比如MySql的自增主键),而是采用了ObjectId的形式来实现?别着急
阅读全文
posted @
2014-03-19 14:47
duanxz
阅读(6085)
推荐(2) 编辑