mysql双主复制的缺点和优点

2024-08-30 21:28:08 浏览

1、主主模式能将读写请求分摊到两个主节点,有效提升服务器使用率。

mysql双主复制的缺点和优点

2、主节点发生故障后,能快速进行主从切换。

3、当故障节点恢复后,故障节点能通过复制进行数据恢复(应用其他节点数据)和数据同步(将未同步数据发生给其他节点)。

1、当主节点上MySQL实例发生故障后,可能会存在部分数据(Binlog)未同步到另外的主节点,导致数据丢失(直到故障节点恢复)。

2、主主模式下,很容易因数据访问控制不当导致数据冲突。

3、为提高系统高可用性,双主架构会被扩展成双主多从结构,同样存在主节点发生故障后多个从库选主和恢复复制的问题

在主主模式下,两个主库都提供读写服务,如果应用通过两个主库操作相同数据,则会发生冲突导致数据覆盖(使用语句模式复制)或复制异常(使用行模式复制),因此需要对读写服务进行控制:

1、基于自主主键控制,通过设置自增属性auto_increment_offset和auto_increment_increment来控制每个主节点生产不同的自增值,并根据不同自增值访问不同主节点。

2、基于库级别或表级别控制,如应用APP1访问节点node1上的DB1库,而应用APP2访问节点node2上的DB2库,两个主节点间不会操作相同表的数据,因此不会存在事务冲突。

为保证应用程序使用相同数据库连接配置而不受故障切换影响,常用方案有:

1、VIP,通过vrrpd或keepalived将VIP动态绑定到新主节点

2、域名,通过切换域名将域名指向新主节点

3、代理,通过更新代理中存放的路由信息来指向新主节点。

SQLSugar是一款基于ORM(对象关系映射)的数据库操作工具库,使用C#语言编写。以下是SQLSugar的优缺点:

简单易用:SQLSugar的API简单易懂,使用方便,不需要掌握太多数据库相关的知识。

功能丰富:SQLSugar提供了丰富的数据库操作功能,支持多种主流数据库,如Mysql、SqlServer、Oracle等,并且可以进行分页、事务处理、SQL语句优化等操作。

性能高效:SQLSugar在性能方面表现出色,采用了多种优化策略,如缓存机制、预编译等,可以大幅提高数据库操作的性能。

易于扩展:SQLSugar提供了丰富的扩展功能,用户可以根据自己的需求扩展各种自定义的功能。

学习成本:虽然SQLSugar的API简单易用,但是对于没有使用过ORM工具的开发者来说,学习使用SQLSugar仍然需要花费一定的时间和精力。

限制性:SQLSugar虽然提供了丰富的数据库操作功能,但是有时候会出现一些限制,如不支持某些复杂的查询语句或数据类型

依赖性:SQLSugar作为一个ORM工具库,必须依赖于具体的数据库驱动程序,这就使得SQLSugar的使用受到了一定的限制。

以往mysql里的utf8一个字符最多3字节,只支持BMP这部分的unicode编码区,BMP是从哪到哪,基本就是0000~FFFF这一区。而utf8mb4则扩展到一个字符最多能有4字节,所以能支持更多的字符集。   SQL code   utf8mb4 is a superset of utf8   utf8mb4兼容utf8,且比utf8能表示更多的字符。   至于什么时候用,看你的做什么项目了   看unicode编码区   从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则只是浪费空间。 ‍

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。