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

已解决

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

展开
收起
云上静思 2022-09-15 16:55:58 503 发布于北京 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 推荐回答

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

    配图20.png

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

    2022-09-15 21:47:54 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等