深入剖析MySQL数据库一主两重架构的优势与应用 (mysql数据库一主两重架构)

MySQL是世界上更流行的开源关系型数据库管理系统之一,得益于其开源、免费、高性能、易用等优势,被广泛应用于各种互联网应用、数据挖掘与分析、金融、物流等领域。而MySQL数据库一主两从架构则是常见的高可用性和容灾架构之一,本文将深入剖析这种架构的优势和应用。

一、一主两从架构的原理和特点

MySQL一主两从架构是指将一个Mysql主服务器和两个从服务器组成的集群架构,主服务器负责写操作和读操作的负载均衡,从服务器负责读操作和备份,一般情况下读写比例为3:1。主服务器和从服务器的数据同步采用MySQL的同步复制机制,当主服务器出现故障时,从服务器可以接管主服务器的工作,实现高可用性和容灾。

一主两从架构的主要特点如下:

1、高可用性:一主两从架构可以使得数据库实现高可用性,当主服务器故障时,从服务器可以自动接管,避免停机时间和数据丢失。

2、提高读写性能:主服务器负责写服务和读写负载均衡,从服务器协助读操作,有效提高读写性能。

3、备份和恢复方便:从服务器可以作为备份服务器,定期备份主服务器数据,当主服务器故障时,可以快速恢复数据。

二、一主两从架构的优缺点

一主两从架构有如下优点:

1、提高性能和负载均衡,主服务器负责写操作和读写负载均衡,从服务器作为读服务器分担读操作的负载,提高整个集群的读写能力。

2、高可用性和容灾性,当主服务器出现故障时,从服务器可以接管主服务器的工作,确保整个数据库集群不会宕机。

3、备份和恢复方便,从服务器可以作为备份服务器,存储主服务器的备份数据,当主服务器出现故障时,可以快速恢复数据。

但是,一主两从架构也存在一些缺点:

1、需要额外的服务器和成本支出,搭建一主两从架构需要购买额外的服务器,增加了成本支出。

2、同步延迟和数据不一致问题,当主服务器发生写操作时,从服务器要进行同步复制,可能会出现同步延迟和数据不一致的问题。

三、一主两从架构的应用

一主两从架构广泛应用于互联网应用、金融、电商、物流等领域,下面是具体应用场景:

1、互联网应用:互联网应用通常需要大量的读操作,如高并发的网站,需要快速响应读取请求,使用一主两从架构可以分担读操作的负载,提高读写性能。

2、金融和电商应用:金融和电商应用通常需要高可用性和容灾性,一主两从架构可以确保整个系统不宕机,避免停机时间和数据丢失。

3、物流管理:物流管理需要快速处理大量的读操作,使用一主两从架构可以提高数据库的读写性能,快速响应读取请求。

四、

MySQL数据库一主两从架构是一种常见的高可用性和容灾架构,它可以带来一系列的优点,如增强读写性能、提高系统可用性和容灾性、备份和恢复方便等,但同时也存在一些缺点,如额外的服务器成本和同步延迟数据不一致问题。一主两从架构具体应用于互联网应用、金融、电商和物流等领域,根据具体业务需求和性能要求选择恰当的架构方案具有重要的意义。

相关问题拓展阅读:

MYSQL数据库的物理设计都包括哪些内容,怎么设计?

你想设计什么样的数据库啊?..可以简单的说明一下吗?..

设计数据库步骤:概念模型,逻辑模型,物理模型.

概念模型:用户需求和运行需求的一个高级表示销茄.

逻辑模型:用于捕捉结构化数据的软件模型的详细表示.

物理模型:数据库的所有表和列的详细规范.

一,在概念上设计一个数据库(概念模型)

需求:实体,属性,关系.

软件:Microsoft Office Visio for Enterprise Anchitects

步骤:启用软件,创建实体,添加属性,添加关系

二,在逻辑上设计一个数据库来利用关系引擎

需求:表,列,外键.

软件:同上

在概念模型的基础上创建.

三,物理创建数据库.

1,打开SQL Server Management Studio

2,右击数据库-新建数据库.

架构:数据库-安全性(右击)-新建-架构

架构是用于简化数据库对象管理的一种命名空间.

创建表来实现:数据库-(右击)表-新建表;

设置主键:右击想要设置成主键的项-设置主键

CHECK约束:右击想要约束的项-CHECK约束-添加-表达式

数值属性:

1,整数和数量:

bit(0_1) tiyint(0_255) allint(-32768_32767) int(_) bigint(…)

2,精确数据:

decimal(精度9,小数位数0-5) numeric(19,0-9) dec(28//0-17) money(18,4) allmoney(9,4)

3,科学与工程数据:

float(存储空间4/8,小数位数1-24/25-53) real(4,24) double(8,53)

4,字符串悄碧属性:

长度固定:char nchar

长度可变:varchar nvarchar

5,日期与时间属性:

datetime和alldatetime

2023提供的约束:

NO NTULL:必需填的属性.

CREATE TABLE EM(

EMNumber INT NOT NULL

)

DEFAULT:插入一行的时候,如果没有为一个列指定亏运察值,就会自动使用DEFAULT值.

PRIMARY KEY:定义主键.

CREATE TABLE EM(

EMNumber INT NOT NULL

PRIMARY KEY(EMNumber,..)

)

UNIQUE:约束一个值,使它不在表中重复.

CREATE TABLE EM(

EMNumber INT NOT NULL

UNIQUE(EMNumber,..)

)

CHECK:限制列的取值范围和模式.

CREATE TABLE EM(

EMNumber INT NOT NULL

CHECK(EMNumber>0)

)

FOREIGN KEY:将一个列表中的值限制为可以在另一个列表中发现的值.

CREATE TABLE EM(

EMNumber INT NOT NULL

FOREING KEY(EMNumber,..)

)

注:使用时更好都使用代码来操作,并少用中文.

如果是MySQL里面设计的话..很简单..一句话..

create datebase ;

创建表:

create table (

);

如:

//创建数据库

create datebase school;

//创建表

create table student(

no int primary key,

name varchar(10) not null

);

至于表属性的类型,你可以在网上找API文档..

Log File物理结构

从 ib_logfile0和 ib_logfile1这两个文件的物理结构可以看出,在Log Header部分还是有些许差异的, ib_logfile0会多一耐并些额外的信息,主要是checkpoint信息。

并且每个Block的单位是512字节,对应到磁盘每个扇区也是512字节,因此redo log写磁盘是原子写,保证能够写成功,而不像index page一样需要double write来保证安全写入。

我们依次从上到下来看每个Block的结构

Log File Header Block

Log Goup ID,可能会配置多个redo组,每个组对应一个id,当前都是0,占用4字节

Start LSN,这个redo log文件开始日志的lsn,占用8字节

Log File Number,总是为0,占用4字节

Created By,备份程序所占用的字节数,占用32字节

另外在ib_logfile0中会有两个checkpoint block,分别是 LOG_CHECKPOINT_1/ LOG_CHECKPOINT_2,两个记录InnoDB Checkpoint信息的字段,分别从文件头的第二个和第四个block开始记录,并且只在每组log的之一个文件中存在,组内其他文件虽然没有checkpoint相关信息,但是也会预留相应的空间出来。这里为什么有两个checkpoint的呢?原因是设计为交替写入,避免因为介质失败而导致无法找到可用的checkpoint的情况。

Log blocks

请点击输入图片描述

log block结构分为日志头段、日志记录、日志尾部

Block Header,占用12字节

Data部分

Block tailer,占用4字节

Block Header

这个部分是每个Block的头部,主要记录的块的信息

Block Number,表示这是第几个block,占用4字节,是通过LSN计算得来的,占用4字节

Block data len,表示该block中有多少昌改迹字节已经被使用歼备了,占用2字节

First Rec offet,表示该block中作为之一个新的mtr开始的偏移量,占用2字节

关于mysql数据库一主两重架构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 深入剖析MySQL数据库一主两重架构的优势与应用 (mysql数据库一主两重架构)