2025年goldendb数据库(goldendb数据库 mysql)

goldendb数据库(goldendb数据库 mysql)1 MongoDB 逻辑结构 MongoDB 与 MySQL 中的架构相差不多 底层都使 了可插拔的存储引擎以满 户的不同需要 户可以根据程序的数据特征选择不同的存储引擎 在最新版本的 MongoDB 中使 了 WiredTiger 作为默认的存储引擎 WiredTiger 提供了不同粒度的并发控制和压缩机制 能够为不同种类的应 提供了最好的性能和存储率 在存储引擎上层的就是 MongoDB 的数据模型和查询语 了 由于 MongoDB 对数据的存储与 RDBMS 有较 的差异




1 MongoDB逻辑结构

MongoDB 与 MySQL 中的架构相差不多,底层都使⽤了可插拔的存储引擎以满⾜⽤户的不同需要。⽤户可以根据程序的数据特征选择不同的存储引擎,在最新版本的 MongoDB 中使⽤了 WiredTiger 作为默认的存储引擎,WiredTiger 提供了不同粒度的并发控制和压缩机制,能够为不同种类的应⽤提供了最好的性能和存储率。在存储引擎上层的就是 MongoDB 的数据模型和查询语⾔了,由于 MongoDB 对数据的存储与 RDBMS 有较⼤的差异,所以它创建了⼀套不同的数据模型和查询语⾔。

2 MongoDB的数据模型

2.1 描述数据模型
内嵌
  内嵌的⽅式指的是把相关联的数据保存在同⼀个⽂档结构之中。MongoDB的⽂档结构允许⼀个字段或者⼀个数组内的值作为⼀个嵌套的⽂档。
引⽤
  引⽤⽅式通过存储数据引⽤信息来实现两个不同⽂档之间的关联,应⽤程序可以通过解析这些数据引⽤来访问相关数据。
  
2.2 如何选择数据模型
选择内嵌:
1.数据对象之间有包含关系 ,⼀般是数据对象之间有⼀对多或者⼀对⼀的关系 。
2.需要经常⼀起读取的数据。
3.有 map-reduce/aggregation 需求的数据放在⼀起,这些操作都只能操作单个 collection。
选择引⽤:
1.当内嵌数据会导致很多数据的重复,并且读性能的优势⼜不⾜于覆盖数据重复的弊端 。
2.需要表达⽐较复杂的多对多关系的时候 。
3.⼤型层次结果数据集 嵌套不要太深。

3 MongoDB 存储引擎

存储引擎是MongoDB的核⼼组件,负责管理数据如何存储在硬盘和内存上。MongoDB⽀持的存储引擎有MMAPv1,WiredTiger和InMemory。InMemory存储引擎⽤于将数据只存储在内存中,只将少量的元数据(meta-data)和诊断⽇志(Diagnostic)存储到硬盘⽂件中,由于不需要Disk的IO操作,就能获取所需的数据,InMemory存储引擎⼤幅度降低了数据查询的延迟(Latency)。从mongodb3.2开始默认的存储引擎是WiredTiger,3.2版本之前的默认存储引擎是MMAPv1,mongodb4.x版本不再⽀持MMAPv1存储引擎。

3.1 WiredTiger存储引擎优势

主从结构没有⾃动故障转移功能,需要指定master和slave端,不推荐在⽣产中使⽤。
mongodb4.0后不再⽀持主从复制!现在使用的是复制集
1,什么是复制集replica sets
复制集是由⼀组拥有相同数据集的mongod实例做组成的集群。
复制集是⼀个集群,它是2台及2台以上的服务器组成,以及复制集成员包括Primary主节点secondary从节点和投票节点。复制集提供了数据的冗余备份,并在多个服务器上存储数据副本,提⾼了数据的可⽤性,保证数据的安全性。
2,为什么要使⽤复制集

3, 复制集集群架构原理
⼀个复制集中Primary节点上能够完成读写操作,Secondary节点仅能⽤于读操作。Primary节点需要记录所有改变数据库状态的操作,这些记录保存在 oplog 中,这个⽂件存储在 local 数据库,各个Secondary节点通过此 oplog 来复制数据并应⽤于本地,保持本地的数据与主节点的⼀致。oplog 具有幂等性,即⽆论执⾏⼏次其结果⼀致,这个⽐mysql 的⼆进制⽇志更好⽤。
oplog组成结构

复制集数据同步分为初始化同步和keep复制同步。初始化同步指全量从主节点同步数据,如果Primary节点数据量⽐较⼤同步时间会⽐较⻓。⽽keep复制指初始化同步过后,节点之间的实时同步⼀般是增量同步。初始化同步有以下两种情况会触发
(1) Secondary第⼀次加⼊。
(2) Secondary落后的数据量超过了oplog的⼤⼩,这样也会被全量复制。

选举

MongoDB的Primary节点选举基于⼼跳触发。⼀个复制集N个节点中的任意两个节点维持⼼跳,每个节点维护其他N-1个节点的状态。

主节点选举触发的时机:

当触发选举时,Secondary节点尝试将⾃身选举为Primary。主节点选举是⼀个⼆阶段过程+多数派协议

复制集搭建

goldenDB架构是mysql还是PG_架构


1.主节点配置 mongo_37017.conf

goldenDB架构是mysql还是PG_复制集_02


goldenDB架构是mysql还是PG_复制集_03


2.初始化节点配置

启动三个节点 然后进⼊任意⼀个节点 运⾏如下命令:

登陆shell界面

goldenDB架构是mysql还是PG_架构_04


goldenDB架构是mysql还是PG_数据_05


节点的动态增删

.复制集操作演示

复制集成员的配置参数

goldenDB架构是mysql还是PG_数据_06


有仲裁节点复制集搭建


编程小号
上一篇 2025-02-14 16:33
下一篇 2025-03-15 15:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/9079.html