openGauss

开源数据库

openGauss社区官网

开源社区

openGauss 社区成立 In-place Update SIG

openGauss2021-03-06theme

经 openGauss 社区技术委员会讨论决定,openGauss 社区正式成立 In-place Update SIG.

In-place Update,中文意思为:原地更新,是 openGauss 内核新增的一种存储模式。openGauss 内核当前使用的行引擎采用的是 Append Update(追加更新)模式,该模式在 INSERT,DELETE,HOT UPDATE(页面内更新)的场景下,有较好的表现。但是,对于非 HOT UPDATE 场景,垃圾回收不够高效。

In-place Update 存储模式提供“原地更新”能力,主要思路是将最新版本的“有效数据”和历史版本的“垃圾数据”分离存储。将最新版本的“有效数据”存储在数据页面上,而单独开辟一段 UNDO 空间,用于统一管理历史版本的“垃圾数据”,因此数据空间不会由于频繁更新而膨胀,垃圾回收效率更高。通过 NUMA-Ware 的 UNDO 子系统设计,使得 UNDO 子系统在多核平台上高效扩展。同时通过对元组和数据页面结构的重新设计,减少存储空间的占用。采用多版本索引技术,解决索引膨胀问题,彻底去除 autovacuum 机制,提升存储空间的回收复用效率。

在此基础上,openGauss 融合存储引擎提供了一套数据访问抽象。基于这层抽象,openGauss 内核统一架构支持多种存储模式,让 openGauss 内核可以适应更多的业务场景和工作负载。与此同时,也将在 In-place Update 存储模式上构筑闪回、分区表、全局索引以及逻辑复制等企业级能力。

In-place Update 存储引擎当前正在研发阶段,预计将在今年下半年在 openGauss 开源社区发布。如果你对 In-place Update 有一些好的想法和建议,可以通过以下邮件列表和我们交流,同时,通过订阅该邮件列表,也可及时掌握 In-place Update SIG 动态。

                               In-place Update SIG邮件列表:inplaceupdate@opengauss.org


                                会议时间:北京时间,每周四下午,16点30~17点30

Call for SIG

openGauss 现已成立 10 个 SIG,包含基础设施、工具、文档、SQL 引擎等方面的内容,欢迎各位小伙伴们找到自己感兴趣的 SIG 组参与社区贡献。

如果,你感兴趣的 SIG 组还未出现,

那么,新的 SIG 组将由你来发起!

欢迎发送申请邮件至:tc@opengauss.org

作为发起人,你将作为该 SIG 组的 Maintainer 或者 Committer 参与小组会议讨论,制定小组发展方向,维护小组的健康发展。同时,这也是你紧跟开源潮流,深度参与开源社区运作,拓宽职业履历的大好时机。