MySQL · RocksDB · TransactionDB 介绍

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MySQL · RocksDB · TransactionDB 介绍

db匠 2018-10-22 09:00:19 浏览1342
展开阅读全文

1. 概述

得益于LSM-Tree结构,RocksDB所有的写入并非是update in-place,所以他支持起来事务的难度也相对较小,主要原理就是利用WriteBatch将事务所有写操作在内存缓存打包,然后在commit时一次性将WriteBatch写入,保证了原子,另外通过Sequence和Key锁来解决冲突实现隔离。

RocksDB的Transaction分为两类:Pessimistic和Optimistic,类似悲观锁和乐观锁的区别,PessimisticTransaction的冲突检测和加锁是在事务中每次写操作之前做的(commit后释放),如果失败则该操作失败;OptimisticTransaction不加锁,冲突检测是在commit阶段做的,commit时发现冲突则失败。

2. 用法

介绍实现原理前,先来看一下用法:

1.

网友评论

登录后评论
0/500
评论
db匠
+ 关注
所属云栖号: 阿里云数据库ApsaraDB