MySQL 数据复制:从 Binlog 到主从同步的最佳实践

1. 前言 在现代分布式数据库架构中,数据的高可用性和一致性是至关重要的。MySQL 作为最流行的关系型数据库之一,提供了多种机制来确保数据的高可用性和容错性。其中, binlog(二进制日志) 和 主从复制 是实现高可用性和灾难恢复的重要技术。 在本篇文章中,我们将深入探讨 MySQL binlog 的原理、配置以及如何通过 binlog…

hello hello 发布于 2024-12-09

优雅实现多系统一致性补偿方案

前言 我们在开发的过程中,如果一个业务操作需要本地写MYSQL数据以及对第三方系统做写操作,那么这种流程就涉及到分布式系统一致性的问题,然而并非所有系统都能使用成熟的分布式事务方案 PS:示例代码推送到: https://gitee.com/dailycreatebug/demo-codes 案例说明 以一个财务报账业务为例,涉及到的系统如下: 系统名…

hello hello 发布于 2024-12-09

ES和MySQL面对大数据查询,谁才是性能之王?

在进行数据查询性能测试的过程中,我的同事幺加明对 ES(Elasticsearch)和 MySQL 进行了相对较大数据量的测试,并整理了相关结果。在得到其授权的情况下,我将此对比案例分享给大家,在此再次向幺加明表示感谢。 一、结论…

hello hello 发布于 2024-12-09

MySQL 通过 Next-Key Locking 技术(行锁+间隙锁)避免幻读问题

在MySQL中,InnoDB引擎通过 Next-Key Locking 技术来解决幻读问题。幻读是一种事务并发问题,通常出现在 Repeatable Read 隔离级别下的范围查询操作中。幻读的现象是,事务在查询时多次执行相同的范围查询,但由于其他事务的插入或删除操作导致结果不一致,出现“幻觉”一样的记录。 Next-Key Locking 技术结合了…

hello hello 发布于 2024-11-28

一次彻底讲清如何处理mysql 的死锁问题

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导致所有事务都无法继续执行的现象。在 InnoDB 存储引擎中,死锁是通过锁机制产生的,特别是在并发较高、业务逻辑复杂的情况下,更容易发生死锁。 一、MySQL 死锁的成因 MySQL 的死锁一般发生在 行级锁 上。常见的死锁成因包括: 事务 A 和事务 B 持有互相需要的锁 :事务 A…

hello hello 发布于 2024-11-13

一文彻底弄懂mysql的事务日志,undo log 和 redo log

在数据库事务管理中, Undo Log 和 Redo Log 是两种关键日志,用于保障事务的 原子性 和 持久性 。它们的作用是确保数据库在出现崩溃、断电、宕机等故障时,能够进行恢复操作,从而保障数据一致性和完整性。它们通常用于支持事务的 ACID 特性中的 原子性 和 持久性 。下面将分别介绍 Undo Log 和 Redo Log…

hello hello 发布于 2024-11-13

一文彻底弄懂MySQL的MVCC多版本控制器

InnoDB 的 MVCC(Multi-Version Concurrency Control,多版本并发控制) 是 MySQL 实现高并发事务处理的一种机制。通过 MVCC,InnoDB 可以在高并发环境下支持 事务隔离 ,并提供 非阻塞的读操作 ,从而避免锁定所有读操作带来的性能瓶颈。MVCC 允许事务在不加锁的情况下读取数据,保证了性能和一致性。…

hello hello 发布于 2024-11-13

一文彻底搞定Redis与MySQL的数据同步

Redis 和 MySQL 一致性问题是企业级应用中常见的挑战之一,特别是在高并发、高可用的场景下。由于 Redis 是内存型数据库,具备极高的读写速度,而 MySQL 作为持久化数据库,通常用于数据的可靠存储,如何保证两者数据的一致性需要具体业务场景的设计与优化。 下面我们将结合几个典型的业务场景,逐步分析如何在不同的场景下保证 Redis 和…

hello hello 发布于 2024-11-13

一文彻底弄懂MySQL的各个存储引擎,InnoDB、MyISAM

MySQL 中的存储引擎是其数据库管理系统的核心模块,用于处理不同类型的数据存储和检索操作。每种存储引擎都有自己的特点,适用于不同类型的应用场景。MySQL 最常用的存储引擎包括 InnoDB 、 MyISAM 、 Memory 、 CSV 、 Archive 、 Merge 、 Federated 、 NDB 等。以下是对 MySQL…

hello hello 发布于 2024-11-08

一文彻底弄懂MySQL的优化

在企业级 Web 开发中, MySQL 优化 是至关重要的,它直接影响系统的响应速度、可扩展性和整体性能。下面从不同角度,列出详细的 MySQL 优化技巧,涵盖查询优化、索引设计、表结构设计、配置调整等方面。 一、查询优化 1. 合理使用索引 单列索引 :为查询频繁的字段(如 WHERE 、 ORDER BY 、 GROUP BY 中的字段)创建单列索引。…

hello hello 发布于 2024-11-08
上一页 下一页