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

MogDB 新特性:Ustore 存储引擎 实现原位更新避免空间膨胀

原创 盖国强 2022-09-02
930

Ustore存储引擎,又名In-place Update存储引擎(原地更新),是 MogDB 内核新增的一种存储模式。

MogDB 数据库中,基于 Ustore 存储引擎,实现了 UNDO 机制,可以避免追加更新导致的快速空间膨胀问题,本文通过 Step by Step 启用 Ustore 存储引擎。

体验 MogDB 通过容器,一条命令即可启动一个数据库环境:
通过容器环境,启动一个 MogDB 实例

1. 初始化参数

缺省的,数据库不启用 UStore 引擎,初始化参数 enable_default_ustore_table 被设置为 off。

MogDB=#show enable_default_ustore_table;
 enable_default_ustore_table 
-----------------------------
 off
(1 row)

2. 启用缺省参数

将 enable_default_ustore_table 参数设置为 on ,就打开了缺省的建表 Ustore 选项。

通过 gs_guc 可以修改初始化参数:

omm@MogDB:data$ gs_guc set -D /var/lib/mogdb/data -c "enable_default_ustore_table=on"
The gs_guc run with the following arguments: [gs_guc -D /var/lib/mogdb/data -c enable_default_ustore_table=on set ].
NOTICE: Enable to create ustore table by default
expected instance path: [/var/lib/mogdb/data/postgresql.conf]
gs_guc set: enable_default_ustore_table=on: [/var/lib/mogdb/data/postgresql.conf]

Total instances: 1. Failed instances: 0.
Success to perform gs_guc!

除此之外,还需要在数据库中设置参数:

MogDB=>######
ERROR:  Ustore is disabled, please set enable_ustore=on.
MogDB=>show enable_ustore;
 enable_ustore 
---------------
 off
(1 row)


MogDB=>alter system set enable_ustore=on;
NOTICE:  please restart the database for the POSTMASTER level parameter to take effect.
ALTER SYSTEM SET

3. 重启数据库

重新启动数据库,确保该参数生效:

MogDB=#show enable_default_ustore_table;                                  
 enable_default_ustore_table 
-----------------------------
 on
(1 row)

4. 创建测试表

此时,创建数据表,可以看到已经适用了 Ustore 引擎,storage_type 显示的是 USTORE:

MogDB=#create table mogdb(id number,name varchar2(20));
CREATE TABLE
MogDB=#\d+ mogdb
                                Table "public.mogdb"
 Column |         Type          | Modifiers | Storage  | Stats target | Description 
--------+-----------------------+-----------+----------+--------------+-------------
 id     | numeric               |           | main     |              | 
 name   | character varying(20) |           | extended |              | 
Has OIDs: no
Options: orientation=row, compression=no, storage_type=USTORE, toast.storage_type=USTORE
最后修改时间:2023-12-20 15:07:42
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论