前言:
本次实践的是opengauss的MOT表,我们都知道现在数据库的瓶颈都在IO上,内存操作的速度是极快的,MOT特性就是建立在内存中的存储引擎。这次实践是基于docker的,不用再在自己电脑上弄一个个虚拟机了,直接装个docker环境,撸镜像。
一、利用docker拉起openGuass
1、配置好docker环境,这里就不再细讲了,网上都有保姆教程。
2、恩墨制作了opengauss 3.0的镜像,直接从网上拉镜像就可以。
3、确认镜像已经拉下来,总共480M,不大也不小。
4、启动镜像,指定下密码就行,如果密码太简单会报错。
docker run --name myopengauss --privileged=true -d -e GS_PASSWORD=Gauss@123 enmotech/opengauss:3.0.0
二、测试MOT表
1、新建一个普通用户test
2、创建MOT,在创建表的时候加关键词foreign。
在创建的时候可能会报,无法创建,这是因为如果postgresql.conf中开启了增量检查点,则无法创建MOT。因此请在创建MOT前将enable_incremental_checkpoint设置为off。
解决方案如下:
a.找到镜像的postgresql.conf配置文件
b.修改enable_incremental_checkpoint=off
c.基于现有镜像生成新镜像
d.启动新镜像
三、测试将磁盘表转换成MOT表
根据官方手册的说法,目前还不能一键实现磁盘表到MOT表的转换,需要利用导入导出的方法。转换步骤如下:
a、停应用,做的时候不能有写入。
b、利用gs_dump导出数据,必须使用data only
c、重命名原表
d、新建mot表,与原表同名。
e、使用gs_restore导入数据
f、恢复应用。