开发者社区 > 数据库 > 正文

多版本活跃内存表数据结构是怎样的?

已解决

多版本活跃内存表数据结构是怎样的?

展开
收起
云上静思 2022-09-15 16:55:58 494 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    在高并发事务处理的情形下,多版本并发控制机制(MVCC)会造成热点记录出现众多版本,查询这些不同版本的记录会带来额外开销。为了解决这个问题,X-Engine 引擎设计了如下图 所示的多版本活跃内存表数据结构,其上层(浅蓝色部分)是跳跃链表结构,所有记录按主键值排序。对于一条有多版本的热点记录(如图中的key=300),X-Engine 引擎添加了一个专用的单项链表(图中绿色部分)存储其所有的多版本数据,并按照版本号排序,最新的版本(version 99)排在最上方。由于数据访问的时间局部性,最新的版本最有可能被查询访问到,因此把它存在最上方可以降低这些热点查询的链表扫描开销。

    配图20.png

    以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。

    2022-09-15 21:47:54
    赞同 展开评论 打赏

数据库领域前沿技术分享与交流

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载