2022年5月10日大约 53 分钟
架构
一主多从,主从同步,读写分离。
(1)一个主库提供写服务
(2)多个从库提供读服务,可以增加从库提升读性能
(3)主从之间同步数据
在MYSQL中实现这一功能的术语叫 - Replication
优势
-
水平扩展,读写分离 - 在这种架构下,所有的增/删/改操作在Master上执行,所有的读操作在Slaves上执行,这样可以把并行压力分担到多个从库
-
数据安全 - 从库可以随时停下来备份数据,而不必考虑服务不可用的问题。
-
数据分析 - 在从库上分析数据,不会影响主库的性能
-
远程数据分配 - 可以通过从库创建数据提供给远端的网站使用,而不必暴露主库
2018年9月4日大约 17 分钟
作用
物理服务器增加,机器处理能力提升。拿硬件换性能。
主从只负责各自的读和写,极大程度缓解X锁和S锁争用。(ps: 一般的读 mysql 是 mvcc 控制的,不存在锁竞争。)
slave 可以配置 myiasm 引擎,提升查询性能以及节约系统开销。
master 直接写是并发的,slave 通过主库发送来的 binlog 恢复数据是异步。
slave 可以单独设置一些参数来提升其读的性能。
增加冗余,提高可用性。
原理
MySQL 读写分离基本原理是让 master 数据库处理写操作,slave 数据库处理读操作。
2018年9月4日大约 4 分钟
DbUnit 是一个 JUnit 扩展(也可与 Ant 一起使用),针对数据库驱动的项目,除此之外,在测试运行之间将数据库置于已知状态。
这是一种很好的方法,可以避免一个测试用例损坏数据库时可能出现的无数问题并导致后续测试失败或加剧损坏。
数据库单元测试工具。
Junit 不足之处,如果测试依赖数据库,就会导致测试依赖于环境。
如:Dev/Test/Prod 的数据肯定不同,无法保证所有环境下的测试保持一致。DbUnit 正是为此而生。
Quick Start
2018年1月10日大约 5 分钟
2017年1月2日大约 7 分钟
2017年1月2日大约 7 分钟
2017年1月2日大约 5 分钟
2017年1月2日大约 7 分钟
2017年1月2日大约 6 分钟