Mavibot? 是个Java 的多版本并发控制 BTree,是 JDBM(当前Apache Directory 服务器的后端)的替代品, 但是有着更强的功能,能适应任意需要实现 Java MVCC BTree 的项目。
分类:
Web程序 时间:
2016-01-05 18:55:02
阅读次数:
170
本博文将描述MVCC和cow技术以及LMDB中如何使用以及实现这两种技术。COW(CopyOnWrite):COW技术背后的思想是拖延技术,基本方法是假如有多个调用者需要访问的资源,在其初始化的时候是不能区分的,即对于多个调用者来说,这资源就是一样的。这样就可以给每个调用者一个指向资源..
分类:
数据库 时间:
2016-01-04 18:26:33
阅读次数:
226
一、MVCC简介MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系...
分类:
数据库 时间:
2015-12-25 22:25:48
阅读次数:
366
Innodb Crash RecoveryInnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性。和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改,并保证总是日志先行,也就是...
分类:
数据库 时间:
2015-11-29 21:15:16
阅读次数:
359
InnoDB 采用了MVCC来支持高并发,并且实现了四个标准的隔离级别。其默认级别是REPEATABLE READ(可重复读) ,并且,通过间隙锁(next-key locking)策略防止幻读的出现。间隙锁使得InnoDB 不仅仅锁定查询涉及的行,还会对索引中的间隙进行锁定,防止幻影行的插入。.....
分类:
数据库 时间:
2015-11-17 00:04:58
阅读次数:
205
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity)事务中的所有操作,要么全部完成,要...
分类:
数据库 时间:
2015-10-26 12:16:04
阅读次数:
213
一、简介PostgreSQL是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备,比如IP类型和几何类型等;其次,PostgreSQL是全功能的自由软件数据库,很长时间以来,PostgreSQL是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等..
分类:
数据库 时间:
2015-10-05 23:29:23
阅读次数:
358
本文主要介绍mongodb3.0新特性、集群部署及从mongodb2.6中数据迁移到mongodb3.0。mongodb3.0介绍一、mongodb3.0新特性引入了插件式存储引擎API新增WiredTiger存储引擎支持文档级别的锁二、WiredTiger存储引擎特性介绍文档级别锁WiredTiger通过MVCC实现文档级别的并发控制,即文..
分类:
数据库 时间:
2015-09-26 01:55:48
阅读次数:
7245
InnoDB存储引擎MVCC的工作原理 InnoDB存储引擎的行结构 MySQL官方手册https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html Internally, InnoDB adds three fields to each row stored in the...
分类:
数据库 时间:
2015-09-14 01:57:13
阅读次数:
425
lightingmdb(lmdb)是一个高性能mmapkv数据库,基本介绍和文档参见symas官网,本文将尝试分析其源代码结构以理解数据库设计的关键技术。本系列文章将尝试从以下几个方面进行分析。系统架构(本文)MMAP映射(系列2)B+Tree操作(系列3)事务管理(系列4)MVCC控制(系列5)等..
分类:
数据库 时间:
2015-09-11 10:49:07
阅读次数:
375