常用的数据库架构及主从的工作原理
数据库常用的架构
目前市面上常用的架构主要有两种:
1、一主多从
2、双机热备
下面我们来了解一下,什么是一主多从呢?
在数据库系统中,一主多从(Master-Slave)架构是一种常见的设计模式。在这种架构中,有一个主数据库(Master)和一个或多个从数据库(Slave)。主数据库负责处理写操作(INSERT, UPDATE, DELETE),而从数据库负责处理读操作(SELECT)。这种设计可以提高系统的性能和可用性。
以下是一主多从架构的基本流程:
1.写操作:所有的写操作都首先在主数据库上执行。然后,这些更改(也称为日志或事务)被复制到从数据库。
2.读操作:读操作可以在任何从数据库上执行。这样可以分散读取负载,并提高系统的性能。
3.复制:主数据库上的更改通过复制过程传播到从数据库。这个过程可以是同步的(即,主数据库在更改被复制到所有从数据库之前不会确认事务)或异步的(即,主数据库在更改被复制到任何从数据库之前就会确认事务)。
4.故障转移:如果主数据库出现故障,一个从数据库可以被提升为新的主数据库。这可以提高系统的可用性。
这种架构的一个主要优点是它可以提高系统的性能,因为读操作可以在多个从数据库上并行执行。此外,通过复制主数据库的更改,可以提高数据的可用性和耐用性。
然而,这种架构也有一些缺点。例如,复制过程可能会引入延迟,这意味着从数据库可能不会立即看到主数据库的更改。此外,如果主数据库出现故障,可能需要手动或自动的故障转移过程来选择一个新的主数据库。
下面是一主多从架构的示意图:
+--------+ +--------+
| | | |
| Master |<--->| Slave1 |
| | | |
+--------+ +--------+
^ ^
| |
v v
+--------+ +--------+
| | | |
| Slave2 | | Slave3 |
| | | |
+--------+ +--------+
在这个示意图中,所有的写操作都在主数据库上执行,然后这些更改被复制到从数据库。读操作可以在任何从数据库上执行。
双机热备
什么是双机热备?
双机热备(Hot Standby)是一种常见的数据库架构,主要用于提高系统的可用性和数据的可靠性。在这种架构中,有两个数据库服务器:一个是主服务器(Primary),另一个是备份服务器(Standby)。主服务器负责处理所有的读写操作,而备份服务器则同步复制主服务器上的所有数据。
在正常情况下,备份服务器不处理任何请求,只是在后台接收并应用主服务器的数据更改。如果主服务器出现故障,备份服务器可以立即接管并成为新的主服务器,这个过程通常被称为故障切换(Failover)。由于备份服务器已经复制了主服务器的所有数据,因此这种切换对用户来说应该是无缝的,也就是说,用户可能根本不会意识到故障已经发生。
双机热备的主要优点是它可以提供高可用性和数据的可靠性。如果主服务器出现故障,备份服务器可以立即接管,从而最小化了系统停机时间。此外,由于所有的数据都被复制到备份服务器,因此即使主服务器的数据丢失,也可以从备份服务器恢复。
优点:
1、数据马上就写入,没有主从延时
2、当master挂掉的时候,他会从vip(虚拟ip)就会指向slave上,然后salve就会变成称为master,所以的写入操作就会到第二台服务器上,确定系统的高可用性