暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss内存引擎

原创 晴天🍭 2020-12-15
1792

openGauss内存引擎

简介

内存引擎作为在openGauss中与传统基于磁盘的行存储、列存储并存的一种高性能存储引擎,基于全内存态数据存储,为openGauss提高了高吞吐的实时数据处理分析能力及极低的事务处理时延,在不同业务负载场景下可以达到其他引擎事务处理能力的3~10倍。内存引擎之所以有较强的事务处理能力,更多因为其全面利用内存中可以实现的无锁化的数据及其索引结构、高效的数据管控,基于NUMA架构的内存管控,优化的数据处理算法及事务管理机制。
image.png
内存引擎总体架构图

内存引擎的兼容性设计

由于数据形态的不同,以及底层事务机制的差别,此处如何与一个以段页式为基础的系统对接是内存引擎存在于openGAuss中的重点问题之一。
解决:openGauss原有的FDW机制为内存引擎提供了一个很好的对接接口,优化器可以通过FDW来获取内存引擎内部的元信息,内存引擎的内存计算处理机制可以直接通过FDW的执行器接口算子实现直接调起,并通过相同的结构将结果以符合执行器预期的方式将结果反馈回执行器进行进一步处理后返回给客户端应用。
与此同时内存引擎自身的错误处理机制,也可以通过与FDW的交互,提交给上次的系统,以此同步触发上层逻辑的相应错误处理。
内存引擎借助FDW的方式接近无缝地工作在整个系统架构下,与以磁盘为基础的行、列存储引擎实现共存。
微信图片编辑_20201215144034.jpg
从图中可以看出,FDW充当了一个整体交互API的作用,实现中同时扩展了FDW的机制,使其具有更完备的交互功能,具体包括:
1、支持DDL接口
2、完整的事务生命周期对接
3、支持检查点操作
4、支持持久化WAL
5、支持故障恢复
6、支持Vacuum操作

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论