在Docker环境下测试openGauss的MOT特性

2023年 11月 17日 92.7k 0

前言:

随着 pg 在国内越来越热,我也想赶紧的学习学习,pg 的挺多语法跟 mysql 和 oracle 不太一样,光看书还是不太行,还是得多动手。前面实践了下 mogdb,这次借着机会学习学习 openGauss。 本次实践的是 opengauss 的 MOT 表,我们都知道现在数据库的瓶颈都在 IO 上,内存操作的速度是极快的,MOT 特性就是建立在内存中的存储引擎。根据官档介绍 MOT 是 openGauss 数据库最先进的生产级特性,看起来好处多多啊,这次主要是尝尝鲜。这次实践是基于 docker 的,之前对 docker 不太感冒,每次做个实验都要弄一套不同版本的数据库环境,太费事了,自从用了 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、恢复应用。

  • 1、新建普通测试表,确认相关字段 MOT 都能支持。 

  • 2、导出表数据 

  • 3、重命名原表 

  • 4、新建同名 MOT 表 

  • 5、导入数据 

  • 6、确认数据 

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论