浅谈数据库的锁(一) 全局锁和表锁 — server层全局锁 顾名思义,全局锁就是给整个数据库实例进行加锁。命令是Flush tables with read lock。 当需要整个数据库进入只读状态时,就用这个命令。一般来说,只有全局备份才会使用这个命令,但即使是做全局备份,我也不推荐使用这个锁。 因为对全局加锁,带来的坏处很多很多。 对全局进行加锁,那么基本上所有操作都会被阻塞,通常情 2021-10-02 MySQL
浅谈数据复制 数据复制数据复制的目的 使数据中心更加接近客户端的物理位置,降低访问延迟 (提高效率) 当部分组件发生故障时,会自动切换到别的组件**(高可用性)** 拓展至多台机器以同时提供吞吐率 数据复制的所有技术挑战都是复制那些热点数据,如何把热点数据复制到别的节点上面。 2021-10-02 分布式 分布式,数据复制,主从
MySQL基础架构 --- 一条语句是怎么执行的? 对于一个很简单的表,里面只有一个字段ID,执行下列语句时 1select * from T where ID = 10; 我们对该语句的执行过程进行,一个拆解。 MySQL的基本架构图 2021-10-01 MySQL
如何做数据分区 数据分区数据分区 和 数据复制 分区通常与数据复制一起使用。也就是说,买个分区,保存在多个节点上面,同样的内容保存在多个节点上面。有利于提高系统的容错性。 key-value 数据分区方法 面对海量数据,单库不能负载。因此我们需要分区,主要目标是把数据和查询负载均匀分布在所有节点上。 如果节点平均分布,那么理论上会扩大n倍的吞吐量。 但是如果分区策略选的不好, 2021-09-11 分布式