mysql的集群和主从的区别

news2024/11/25 4:23:52

现在的项目使用mysql数据库,要自己设计数据存储架构。所以研究了一下mysql的集群(cluster)和主从(master/slave)这两个概念。两者非常容易混淆,所以需要分辨出这2者之间的区别。

一、Mysql cluster: share-nothing,分布式节点架构的存储方案,以便于提供容错性和高性能。

需要用到mysql cluster安装包,在集群中的每一个机器上安装。

有三个关键概念:Sql节点(多个),数据节点(多个),管理节点(一个),数据节点之间采用的是同步复制来保证各节点之间的数据一致性。

容错性:管理节点部署在一台机器A里,一套数据节点和SQL节点部署在机器B里,另一套数据节点和SQL节点部署在机器C里。当机器B挂掉时,机器A和机器C是正常的,那该mysql数据还是可以正常使用的,及时恢复机器B就行。

同步复制:
a) Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。
b) 每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。
c) Master等待所有Slave发送OK或ABORT消息,如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;如果 Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。
d) 每个Slave等待来自Master的OK或ABORT消息。如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。
e) Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。
由于同步复制一共需要4次消息传递,故mysql cluster的数据更新速度比单机mysql要慢。所以mysql cluster要求运行在千兆以上的局域网内,节点可以采用双网卡,节点组之间采用直连方式。

这里写图片描述
二、主从(Master-Slave): 主从机器上安装mysql community(普通版)就可以。
主从之间是通过mysql的replication来保证数据的一致性。相对mysql cluster的数据同步方式来讲是异步的。
Replication:主节点要开启binlog,设置一个唯一的服务器id(局域网内唯一);从节点设置服务器id,binlog记录了master上的所有操作,会被复制到从节点的relaylog并在从节点上回放。

这里写图片描述

优点:

  • 读写分离,增加整体性能
  • 部署简单,维护方便,需要资源少,成本低,最少两台即可搞

缺点:

  • 无故障转移,Master挂了整个集群只能读取不能写入,需要引入其他的高可用机制
  • 数据存在一致性问题,因为异步,所以Slave的数据一定不是最新的,需要等待一个时间窗后才能读取
  • Slave过多时Slave对Master的负载以及网络带宽都会成为一个严重的问题

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/715114.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

综合实验---基于卷积神经网络的目标分类案例

文章目录 配置环境猫狗数据分类建模猫狗分类的实例基准模型猫狗分类的实例基准模型之数据增强问题回答 配置环境 ①首先打开 cmd,创建虚拟环境。 conda create -n tf1 python3.6如果报错:‘conda’ 不是内部或外部命令,也不是可运行的程序 或批处理文件…

Docker镜像是什么原理?Dockerfile是什么?

Dockerfile 一、docker镜像原理 Linux文件系统有bootfs和rootfs两部分组成 bootfs: 包含bootloader(引导加载程序)和kernel(内核)rootfs: root文件系统,包含的就是典型Linux系统中的 /dev&…

【花雕】全国青少年机器人技术一级考试备考实操搭建手册4

目录 1、秋千 2、跷跷板 3、搅拌器 4、奇怪的钟 5、起重机 6、烤肉架 7、手摇风扇 8、履带车 9、直升机 10、后轮驱动车 钟表是一种计时的装置,也是计量和指示时间的精密仪器。 钟表通常是以内机的大小来区别的。按国际惯例,机芯直径超过80毫米、厚度超…

Axure设计之下拉复选框(中继器)

在系统表单设计中经常用到下拉复选框,下拉复选列表用于展示可选标签,并允许用户选择多个标签,那么该如何利用Axure RP9制作一个下拉复选框呢?本文总结了设计过程的所需元件和整体思路,通过对关键步骤的讲解&#xff0c…

Type-c取电方案

如今随着这几年的USB-C PD适配器的普及,消费者手上的PD协议适配器越来越普遍,如何让微软surface 充电器线支持使用PD适配器快充?加入一颗受电端PD协议取电芯片——LDR6328能够完美的兼容市面上的PD适配器,支持不同的电压输出。 1…

vuex 持久化插件 vuex-persistedstate

/** ** /store/index.js ****/ import Vue from vue import Vuex from vuex import createPersistedState from vuex-persistedstate // 【主要代码】Vue.use(Vuex)// https://webpack.js.org/guides/dependency-management/#requirecontext const modulesFiles require.conte…

使用alist连接百度网盘和阿里云盘挂载到本地磁盘

1、下载alist软件 使用alist连接百度网盘和阿里云盘挂载到本地磁盘 跳转后,找到对应windows版本 2 、下载后解压,并启动服务 注意:alist的启动方式不是传统的双击启动,需要用命令提示符,启动服务 下载完成后解压,在你解…

MySQL - 第13节 - MySQL用户管理

1.MySQL用户管理概念 MySQL用户管理概念: • 与Linux操作系统类似,MySQL中也有超级用户和普通用户之分。 • 如果一个用户只需要访问MySQL中的某一个数据库,甚至数据库中的某一个表,那么可以为其创建一个普通用户,并为…

HarmonyOS学习路之开发篇—设备管理(传感器开发)

传感器开发概述 基本概念 HarmonyOS传感器是应用访问底层硬件传感器的一种设备抽象概念。开发者根据传感器提供的Sensor API,可以查询设备上的传感器,订阅传感器的数据,并根据传感器数据定制相应的算法,开发各类应用,…

【海量数据挖掘/数据分析】之 贝叶斯信念网络(贝叶斯信念网络、有向无环图、贝叶斯公式、贝叶斯信念网络计算实例)

【海量数据挖掘/数据分析】之 贝叶斯信念网络(贝叶斯信念网络、有向无环图、贝叶斯公式、贝叶斯信念网络计算实例) 目录 【海量数据挖掘/数据分析】之 贝叶斯信念网络(贝叶斯信念网络、有向无环图、贝叶斯公式、贝叶斯信念网络计算实例&…

仙剑风景图片生成【InsCode Stable Diffusion美图活动一期】

一、 Stable Diffusion 模型在线使用地址:https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型版本及相关配置: Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 423016627, Size: 512x512, Model hash: 74c61c3a52, Model: GuoFeng3,…

通过摄像头监测交通——远眺智慧交通视频AI分析系统「捷码精品应用展」

随着社会经济的发展和人民生活水平的提高,汽车数量增长迅猛。汽车数量的迅速增加造成交通拥挤严重、交通事故频发,甚至愈演愈烈,惨不忍"堵",严重影响城市交通安全与交通效率,如何保障人民群众安全、有序出行…

06_RBAC项目总结

RBAC项目总结 基于角色访问控制(RBAC:Role Based Access Control) 对于基本的增删改查 1.通过看接口文档要求这个接口使用什么方式发送请求,需要响应的数据的格式是什么 2.若请求的参数由其他对象或者数组组成的,就需要重新定义一个类来进行接收,后端接收的时候…

(动态规划) 673. 最长递增子序列的个数 ——【Leetcode每日一题】

❓ 673. 最长递增子序列的个数 难度:中等 给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1,…

Leetcode-每日一题【328.奇偶链表】

题目 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组…

【Matlab】智能优化算法_樽海鞘群算法SSA

【Matlab】智能优化算法_樽海鞘群算法SSA 1.背景介绍2.数学模型2.1 提出的移动樽海鞘链的数学模型2.2 Swarm仿真2.3 单目标Salp Swarm算法(SSA) 3.算法流程图4.文件结构5.伪代码6.详细代码及注释6.1 func_plot.m6.2 Get_Functions_details.m6.3 initiali…

自学网络安全究竟该从何学起?

一、为什么选择网络安全? 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地,网络安全行业地位、薪资随之水涨船高。 未来3-5年,是安全行业的黄金发展期,提前踏入行…

八大数据结构分类

1、数组 数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1。 int[] data new int[100];data[0] 1;…

大数据存储架构详解:数据仓库、数据集市、数据湖、数据网格、湖仓一体

前言 本文隶属于专栏《大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据理论体系 思维导图 数据仓库 数据仓库是一个面向主题的&…

Redis高可用——集群模式

Redis高可用——集群模式 一、Redis 群集模式二、集群的作用1.数据分区2.高可用 三、Redis集群的数据分片四、Redis集群的主从复制模型五、搭建Redis 群集模式1.创建每个redis节点的目录,复制需要的文件2.开启群集功能3.启动redis节点4.启动集群5.测试群集 一、Redi…