在高并发事务处理的情形下,多版本并发控制机制(MVCC)会造成热点记录出现众多版本,查询这些不同版本的记录会带来额外开销。为了解决这个问题,X-Engine 引擎设计了如下图 所示的多版本活跃内存表数据结构,其上层(浅蓝色部分)是跳跃链表结构,所有记录按主键值排序。对于一条有多版本的热点记录(如图中的key=300),X-Engine 引擎添加了一个专用的单项链表(图中绿色部分)存储其所有的多版本数据,并按照版本号排序,最新的版本(version 99)排在最上方。由于数据访问的时间局部性,最新的版本最有可能被查询访问到,因此把它存在最上方可以降低这些热点查询的链表扫描开销。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。