database
linyonghui1213
sfwe
展开
-
轻松理解MYSQL MVCC 实现机制-(1)
1. MVCC简介1.1 什么是MVCCMVCC是一种多版本并发控制机制(Multi-Version Concurrency Control)。1.2 MVCC是为了解决什么问题?大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制来一起使用. 大家都应该知道,锁机制可以控制并发操作,但是...转载 2018-08-22 09:02:34 · 177 阅读 · 1 评论 -
Mysql MVCC实现原理解析
MVCC(Multi-Version Concurrency Control | 多版本并发控制) InnoDB通过为每一行记录添加两个额外的隐藏的值来实现MVCC,这两个值一个记录这行数据何时被创建,另外一个记录这行数据何时过期(或者被删除)。但是InnoDB并不存储这些事件发生时的实际时间,相反它只存储这些事件发生时的系统版本号(LSN)。这是一个随着事务的创建而不断增长的数字。每个...转载 2018-08-22 18:27:36 · 14007 阅读 · 0 评论 -
深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
概念和区别SELECT ... LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他session可以读取这些记录,也可以继续添加IS锁,但是无法修改这些记录直到你这个加锁的session执行完成(否则直接锁等待超时)。SELECT ... FOR UPDATE 走的是IX锁(意向排它锁),即在符合条件的rows上都加了排它锁,...翻译 2018-08-20 19:32:44 · 815 阅读 · 0 评论 -
MySql悲观锁和乐观锁的使用
MySql悲观锁和乐观锁的使用 该文转载自:https://blog.csdn.net/yanghan1222/article/details/80449528 现在我有一个购买商品的需求,我们知道当我们购买商品时,后台会进行减库存和增加购买记录的操作。我们分别在无锁和乐观锁和悲观锁进行相应的代码演示来说明问题。 建表语句如下:CREATE TAB...转载 2018-09-26 09:27:55 · 196 阅读 · 0 评论 -
Percona XtraDB Cluster(PXC)——架构原理
Percona XtraDB Cluster(PXC):Percona XtraDB Server +WSREP API(write set replication patches) + Galera(galera library)转自:http://blog.chinaunix.net/uid-25206403-id-3912291.html同类基于验证复制的集群结构:codersh...转载 2018-09-26 09:29:42 · 2965 阅读 · 1 评论 -
如何设置MySQL同步(Replication)
MySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾、备份、恢复、负载均衡等都是有极大帮助的。本文描述了常见的同步设置方法。一、准备服务器由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。本文中,我们假设主服务器(以下简称Maste...转载 2018-10-24 15:42:28 · 686 阅读 · 0 评论 -
MySql-Undo及Redo详解
00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity)事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发生了错误,要回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过。- 原理U...转载 2018-11-02 10:19:31 · 685 阅读 · 0 评论