千家信息网

MongoDB高可用分为哪些方式

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍"MongoDB高可用分为哪些方式",在日常操作中,相信很多人在MongoDB高可用分为哪些方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mongo
千家信息网最后更新 2025年02月03日MongoDB高可用分为哪些方式

这篇文章主要介绍"MongoDB高可用分为哪些方式",在日常操作中,相信很多人在MongoDB高可用分为哪些方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MongoDB高可用分为哪些方式"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1 : MongDB的架构设计之中,MongoDB支持多个机器之间通过异步复制达到故障转移和实现冗余,多台的机器之中只有一台是用于写操作,正是由于这个原因,在MongoDB之中只有一台充当了Primary角色的机器能把读操作分发给Slave。

MongoDB 高可用可以分为两种的方式:

1:master--Slave 主从复制,目前已经不怎么实用了

2:Replica Sets复制集

MongoDB 在1.6版之后加入了新的一个功能点叫做复制及:replica Set,增加了故障的自动切换和自动修复成员节点。各个DB之间的数据完全一致。大大降低了维护成功,

如图:

数学上来将,就是一个同构型的集合:也就是一个集群。MongoDB的Relica Set架构是通过一个日志来存储写操作的。这个操作就叫做"oplog",oplog.rs 是一个固定长度的CappedCollection。这个Collection的位置存在于"Local数据库之中",用于记录Replica Set操作的日志,它在默认的情况之下,对于64位的MongoDB,opLog是比较大的。可以达到5%的磁盘空间,oplog的大小是可以通过Mongod的参数 "-oplogSize"来改变。

除了固定的复制集意外,还保持了较好的伸缩性,一旦需求得不到满足,那么就需要添加新的机器。那么句需要增加一些节点将压力平均分配一下。

增加节点的方式,一般可以通过oplog直接进行增加节点,操作简单并且无需人工干预,可是oplog是

capped collection,采用的循环方式进行日志处理,所以采用的是oplog的方式来添加,可能会有不一致的问题。

因为日志中间存储的信息由可能已经刷新过了。不过没关系。通常而言,你可以通过数据库的快照 --fastsync和oplog结合的

方式来增加节点。这种方式的操作流程是,先取某一个复制集成员的物理文件来作为一个初始化的数据,然后剩余的部分用

oplog的方式去添加。

而 Sharding,这是一种将海量的数据水平扩展的数据库集群系统,数据库分表存储在 sharding的各个节点之上。MongoDB的数据分块成为chunk,每一个Chunk都是Collection中一段连续的数据记录,通常的最大的尺寸是200MB。超出那么就会生成一个最新的数据块。这个和Hbase Region的分裂是一样的。

整个分拆的过程大致如下:

对于MongoDB

首先在CL: Client 这一层面来说,底层是否需要分片?是否需要这样的一个复制集对与使用者来说完全不必要知道。Mongos: 好比就是一个大管家,要怎么去分拆Collections?,你Client完全不必要知道,只需要你告诉我一个东西:分区的Key是什么?在很多的组件之中,包括在hadoop,Storm,等个各种数据库之中都会有这样的一个 Partition Key的概念。对应于我们的网络之上就会充当了这样一个路由的功能。并且将自己所把控的一些集群的信息存放在Config服务器之中。

在其他的数据库中间也就是如此,对于Hbase。依然需要对于表再进行分拆。对应于Hbase之中的Region。和MongoDB的分片其实用一个比较常用的英文名字就叫做 Segment。

如果你对于Hbase之流不够了解没关系。你只是需要知道,Region是表分裂的一个片段,region按大小分割的,每个表一开始就只是一个Region,Region随着数据的写入会不断的扩大,以至于达到了设计阈值以后,Region就开始分裂了,由1分二。当table中的行越来越多的时候,Region的数量就越来越多。

HRegion是Hbase之中分布式存储和负载的最小的单位,在这里给出一个比照的图:如下:

而在kafka之中之中的Replication,其实更加相当于Hadoop体系之中的 【副本机制】,和分片所需要解决的矛盾不同。

简单的额来说,分布式系统有自己独特的属性与性质,对于其存存储体系有着固定的诉求。

到此,关于"MongoDB高可用分为哪些方式"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 之中 方式 数据库 节点 日志 机器 存储 学习 可以通过 集群 实用 一致 没关系 之间 也就是 体系 信息 分布式 功能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发如何分配小组成员 计算机网络技术课程基础 服务器机柜购买咨询 加强网络安全工作讲话 山东软件开发大学 电脑软件开发价钱 国家网络安全宣传周网上答题 请求被源服务器防火墙中断 基层军队网络安全宣传周报道 软件开发有哪些大学课程 数据库设计 pdf 塑料材质数据库 随州市金銮互联网科技有限公司 政府事业单位网络安全有什么建议 慧聘网络技术有限公司 数据中心网络安全探析 数据库整合 maa 软件开发销售收入 互联网软件开发怎么赚钱 打印照片提示服务器错误 网络安全的手抄报最简单漂亮 计算机网络安全方面案例 服务器 硬盘 管理工具 全国中小学生网络安全平台 学历适合用什么数据库类型 网络安全保护等级保护测评 济南网络安全监察 注册软件显示服务器错误 数据库服务器存储服务器 打印照片提示服务器错误
0