KADB使用PXF连接KES验证

  • 验证环境

KADB版本:Greenplum Database 6.0.0 build dev.V003R002C001B0181.d354cc9215

KES版本:KingbaseES V008R006C007B0012

Java版本:openjdk version "1.8.0_262"

  • PXF部署

以下操作假设KADB和KES已经部署完成并且启动正常,环境变量设置完成

  1. 设置环境变量

在mppadin用户的.bashrc文件加入以下内容:
export PATH=GPHOME/pxf/bin:PATH

export PXF_CONF=$GPHOME/pxf

  1. 安装JAVA

修改/home/mppadmin/kadb/pxf/conf/pxf-env.sh文件加入JAVA安装目录:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre

注:支持openjdk

  1. 注册pxf扩展

使用mppadmin用户登录master节点主机执行:
/home/mppadmin/mpp/pxf/bin/pxf cluster register

该命令拷贝pxf扩展文件到集群每一个节点的/home/mppadmin/kadb/share/postgresql/extension目录中,kadb介质已经完成此步骤,命令执行结果如下:
mppadmin@mdw1 extension$ pxf cluster register

Installing PXF extension on master host and 0 segment hosts...

PXF extension has been installed on 1 out of 1 host

  1. 拷贝KES JDBC驱动到KADB所有节点的$PXF_HOME/lib目录
  1. 创建jdbc连接参数配置文件

在KADB所有segment节点创建下面的文件(jdbc-site.xml文件模板在目录:/home/mppadmin/kadb/pxf/templates

修改改文件的下面参数:

  1. 启动PXF服务

在KADB master节点执行:
/home/mppadmin/mpp/pxf/bin/pxf cluster start

命令输出如下:
mppadmin@mdw1 templates$ pxf cluster start

Starting PXF on master host and 0 segment hosts...

PXF started successfully on 1 out of 1 host

查看pxf server允许状态:
mppadmin@mdw1 templates$ pxf cluster status

Checking status of PXF servers on master host and 0 segment hosts...

PXF is running on 1 out of 1 host

  1. 在测试数据库安装pxf扩展

登录KADB,在测试数据库中执行:

create extension pxf;

  • KADB通过PXF连接KES测试性能
  1. KADB通过pxf外部表访问KES中的数据
  1. KES创建测试表

test=# \d test

Table "public.test"

Column | Type | Collation | Nullable | Default

--------+----------------------------+-----------+----------+---------

a | integer | | |

b | character varying(20 char) | | |

  1. 插入测试数据,并记录时间

test=# insert into test values(generate_series(1,1000000),'ccccccccccccccc');

INSERT 0 1000000

Time: 1147.879 ms (00:01.148)

  1. 登录KADB,创建测试数据库test

创建只读外部表test
create external table test(

a int,

b varchar(20))

location('pxf://test?profile =jdbc')

FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');

  1. 外部表读性能

postgres=# select count(*) from test1;

count


2000002

(1 row)

Time: 3729.619 ms

KES本地读取性能
test=# select count(*) from test;

count

2000002

(1 row)

Time: 112.064 ms

  1. KADB通过pxf外部表写入KES数据
  1. KADB创建可写外部表

create writable external table test(

a int,

b varchar(20))

location('pxf://test?profile=jdbc')

FORMAT 'CUSTOM' (FORMATTER='pxfwritable_export');

  1. 通过外部表写入数据并记录时间

postgres=# insert into test values(generate_series(1,1000000),'ccccccccccccccc');

INSERT 0 1000000

Time: 11397.677 ms

  1. KES本地写入并记录时间

test=# insert into test values(generate_series(1,1000000),'ccccccccccccccc');

INSERT 0 1000000

Time: 1147.879 ms (00:01.148)

相关推荐
欢呼的太阳5 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
喜欢的名字被抢了6 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客7 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_7 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔7 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据8 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华8 小时前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
哥是强混9 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_9 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
水无痕simon10 小时前
6 数据库同义词
数据库