主从数据库
特点
- 主从模式(一主多从,多主一从,级联复制)
- 读写拆散
- 主从复制
主从复制
模式
- 异步模式
主数据库增删改数据过程中,不会被动告诉 Dump 线程去同步从库 - 半同步模式
主数据库增删改数据过程中,会被动告诉 Dump 线程去同步从库,并收到一台从库的返回信息后,才会 commit - 全同步模式
主数据库增删改数据过程中,会被动告诉 Dump 线程,并期待所有从库返回信息后才 commit
bin log 记录格局(实现粒度)
- SBR(sql base replication)
mysql5 之前版本,bin log 只记录会批改数据的 sql 语句,很大水平上缩小日志文件的大小,节约 IO 读写和升高网络传输工夫,进步性能。
但从库同步时须要从新执行 sql;一些状况下,还会导致主从库数据不统一。
比方一个 SQL 语句调用了用户定义的函数,调用了返回随机值的函数,在数据表中应用了自增列,以及应用了上下文数据(context data, 比方用一个表的行数作为某个插入字段值,或者在 update/delete 语句中应用了 limit 子句)
- RBR(row base replication)
bin log 只记录批改的行,批改成什么。从库同步间接调用存储引擎的接口进行增删改,不须要残缺地进行 sql 语句的执行。
但毛病在于日志文件会比拟大,并且批改数据量大时,同步须要的工夫比拟长 - MBR(mixed base replication)
mysql 会依据执行的 sql 语句来决定采纳以上两种的哪种形式来保留日志
长处
- 读写拆散,进步查问效率
- 程度扩大数据库的负载,容错,保障高可用
- 实时容灾,可故障切换
- 数据备份