GBase 8s V8.8的锁机制和隔离级别
锁技术
- 锁粒度:GBase 8s 提供 6 种粒度的锁,可满足各种并发模式下的需求
锁粒度 | 说明 |
---|---|
数据库锁 | 针对整个数据库的锁 |
表锁 | 针对整个表的锁 |
页锁 | 针对整页数据的锁 |
行锁 | 针对一个数据行的锁 |
字节锁 | 在包含 VARCHAR 的行上的锁 |
键锁 | 在索引中的一个键值上的锁 |
- 锁类型:GBase 8s 支持多种类型的锁,包括共享锁、排他锁、提升锁。
- 死锁处理:GBase 8s 对死锁的管理十分智能化,可通过数据库锁资源的相关设置,使得数据库具有自动解死锁功能。
隔离级别
GBase 8s 提供以下 5 个隔离级别:
隔离级别 | 说明 |
---|---|
Dirty Read | 脏读级别,这个并发性级别不锁定任何行。 |
Committed Read | 提交读,这个级别不锁定任何行,但如果有人执行更新或在行上使用排他锁,它将失败。 |
Cursor Stability | 游标固定,在选择的行上加共享锁,因此当有用户正在读取某行时,其他用户就不能更新它。 |
Repeatable Read | 可重复读,为每个读取的行加共享锁,使这些行不能再被更改,重复读取将返回同样的记录和值。 |
Last Committed Read | 最后提交读,与提交读相似;不过,当读取已更新某个行时,将从日志中读取最近提交的记录。 |