【用户实践】openGauss5.0在某省医保局实时数仓应用

一、项目背景

采用数据同步软件将各系统的数据库下的数据实时同步到openGauss数据库中;
建立实时数仓;
可以在实时数仓自行查询、分析、统计数据及报表;
同时横向集成公共服务区和核心业务区生产库数据、集成其他委办局数据。
纵向集成市级的生产库数据和向省级交换库同步数据;
协同国家数据中台的数据归集工作;
并通过高灵活、高性能的优势,也可进行数据的分析、挖掘以及二次应用。

二、同步架构图

架构描述:源端华为云rds mysql 5.7.33 ,目标端是openGauss5.0
源端mysql是DDM分库分表架构,
需要把一张表切分成多张表后同步到openGauss 一张表里。
同步架构属于多对一。
下图deb:Debezium

4e52477bcf07175a65992e5096827677.jpeg

三、环境介绍

ip 名称 说明 192.168.10.2 mysql 源端数据库 192.168.10.3 Debezium 数据同步工具 192.168.10.4 openGauss 目标端数据库

四、工具准备

kafka
Debezium MySQL Connector
JDBC sink Connector

源端mysql参数配置
log_bin=on
binlog_format=row
binglog_row_image=full

目标端openGauss参数配置
wal_level=logical
上传wal2json
cd $GAUSSHOME/lib/postgresql
ls wal2json.so
wal2json.so

替换jar包
debezium-connector-postgres-1.4.0-SNAPSHOT.jar
postgres.jar

五、源端和目标端测试数据准备

源端数据准备如下:
nmsimis_0.ac09_0
nmsimis_1.ac09_0
nmsimis_2.ac09_0

源端用华为DDM分库分表工具已经把ac09表切分成3个库中,如下:

mysql> use nmsimis_0;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------+
| Tables_in_nmsimis_0 |
+---------------------+
| ac09_0 |
+---------------------+
1 rows in set (0.00 sec)

mysql> use nmsimis_1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------+
| Tables_in_nmsimis_1 |
+---------------------+
| ac09_0 |
+---------------------+
1 rows in set (0.00 sec)
mysql> use nmsimis_2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------+
| Tables_in_nmsimis_2 |
+---------------------+
| ac09_0 |
+---------------------+
1 rows in set (0.00 sec)

mysql> show create table ac09_0;
+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ac09_0 | CREATE TABLE `ac09` (
`id` varchar(30) NOT NULL,
`xm` varchar(50) DEFAULT NULL,
`dz` varchar(50) DEFAULT NULL,
`csrq` datetime DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

目标端:openGauss
数据库名:dbserver1 模式:nmsimis

六、项目实施

6.1、启动kafka和deb

/dbms/kafka/bin/zookeeper-server-start.sh -daemon /dbms/kafka/config/zookeeper.properties
/dbms/kafka/bin/kafka-server-start.sh -daemon /dbms/kafka/config/server.properties
/dbms/kafka/bin/connect-distributed.sh -daemon /dbms/kafka/config/connect-distributed.properties

0aa304ef71172a8dc28d29f84d9dfe8d.jpeg

6.2、查看deb支持的插件

[root@k8s-node1 ~]# curl -s 192.168.10.3:8083/connector-plugins|jq
[
{
"class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"type": "sink",
"version": "5.3.2"
},
{
"class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"type": "source",
"version": "5.3.2"
},
{
"class": "io.debezium.connector.mysql.MySqlConnector",
"type": "source",
"version": "1.5.4.Final"
},
{
"class": "org.apache.kafka.connect.file.FileStreamSinkConnector",
"type": "sink",
"version": "2.8.2"
},
{
"class": "org.apache.kafka.connect.file.FileStreamSourceConnector",
"type": "source",
"version": "2.8.2"
},
{
"class": "org.apache.kafka.connect.mirror.MirrorCheckpointConnector",
"type": "source",
"version": "1"
},
{
"class": "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector",
"type": "source",
"version": "1"
},
{
"class": "org.apache.kafka.connect.mirror.MirrorSourceConnector",
"type": "source",
"version": "1"
}
]

6.3、创建连接器

--配置源端mysql连接器,如下图

ce915dee16f366f9a54e2a66b53ad7ab.jpeg

--配置目标端
curl -s http://192.168.10.3:8083/connectors/openGauss-ac09-connector -X GET|jq

09ea3e70a86b28ebd39f58b7ab1137c7.jpeg

6.4、查看连接器状态

[root@k8s-node1 ~]# curl -s http://192.168.10.3:8083/connectors/ -X GET|jq
[
"mysql-ac09-connector",
"openGauss-ac09-connector"
]

e5e19727f14a6325bc9f37895a5df03c.jpeg

curl -s http://192.168.10.3:8083/connectors/openGauss-ac09-connector/status -X GET|jq

81006026e93291a5506fe25fc2476c7f.jpeg

6.5、验证表初始化

--通过登录openGauss查看表结构已经同步过来,如下图

163ed8cc2131fe653c249c3a37881281.jpeg

6.6、验证DML实时同步

源端:插入数据

adbf0ed488b64d7889effeda53523a0c.jpeg

查看目标端:

cac7c2c909492ed9a8d7ede6e7567a53.jpeg

七、总结

构建实时数据仓库的关键之一就是设计一个可靠而强大的数据库架构。这就像在峡谷中建造一座坚固的桥梁,让你的数据可以安全地流动。openGauss可以轻松应对海量数据的处理和存储。就像一位巧妙的工程师,openGauss在背后默默助力,为你的数据仓库提供强大的基础。它的灵活性和扩展性让你能够根据业务需求精确地设计数据模型,确保数据的准确性和一致性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/147665.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu设置脚本开机自启动

rc-local.service flexmitd1:~$ cd /lib/systemd/system/ flexmitd1:/lib/systemd/system$ ls |grep rc-local.service rc-local.service rc-local.service.d flexmitd1:/lib/systemd/system$ pwd /lib/systemd/system flexmitd1:/lib/systemd/system$确保有rc-local.service文…

nginx快速部署一个网站服务 + 多域名 + 多端口

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

WPF下实现拖动任意地方都可以拖动窗口

首先在xaml中添加事件 <Window PreviewMouseLeftButtonDown"Window_PreviewMouseLeftButtonDown"PreviewMouseMove"Window_PreviewMouseMove"PreviewMouseLeftButtonUp"Window_PreviewMouseLeftButtonUp"/>然后脚本输入 Point _pressedP…

建筑楼宇智慧能源管理系统,轻松解决能源管理问题

随着科技的进步与人们节能减排意识的不断增强&#xff0c;建筑楼宇是当下节能减排的重要工具。通过能源管理平台解决能效管理、降低用能成本、一体化管控、精细化管理和服务提供有力支撑。 建筑楼宇智慧能源管理系统是一种利用先进手段&#xff0c;采用微服务架构&#xff0c;…

「Verilog学习笔记」优先编码器Ⅰ

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 分析编码器的功能表&#xff1a; 当使能El1时&#xff0c;编码器工作&#xff1a;而当E10时&#xff0c;禁止编码器工作&#xff0c;此时不论8个输入端为何种状态&…

基于单片机的智能考勤机(论文+源码)

1.系统设计 本课题为基于单片机的智能考勤机&#xff0c;其整个系统由STC89C52单片机&#xff0c;RC522 RFID模块&#xff0c;LCD液晶&#xff0c;按键等构成&#xff0c;在功能上&#xff0c;本系统智能考勤机主要应用在校园生活中&#xff0c;用户可以通过按键注销/注销相应的…

requests.post 数据字段编码问题的方法

今夜&#xff0c;我要在代码的海洋中遨游&#xff0c;捕捉那只顽皮的bug。作为一名程序员&#xff0c;不断解决问题是日常的工作。而今天我要解决的是 requests.post 数据字段编码问题。在编程中&#xff0c;数据的编码问题常常让人头疼&#xff0c;它可能会导致程序无法正常运…

工业品电商,新的隐形冠军藏不住了?

【潮汐商业评论/原创】 “时代真的变了。”自打从淘宝买了一批配件后&#xff0c;工厂老板李瓦就经常感慨。 李瓦经营着一家专门生产机器零部件的工厂&#xff0c;日常经常要采购传送带、螺丝、螺母等材料&#xff0c;过去他主要通过线下的方式进货。但最近朋友圈里一段淘宝工…

MySQL函数部分

资料来源:菜鸟教程 #初次知晓_2023-11-15 #中职在读 MySQL_函数部分 说明字符串函数数字函数日期函数高级函数 说明 本文依照 菜鸟教程 及课堂上课内容创作。 作者水平有限&#xff0c;如有错误请提出 若本文侵权请联系我删除 笔记下载&#xff1a; 百度云盘链接&#xff1a;…

CentOS7.9安装docker

在CentOS 7.9上安装Docker可以通过官方的Docker安装脚本或者使用系统包管理工具来完成 本次使用系统包管理工具 打开终端&#xff0c;以root权限登录系统。 安装所需的依赖&#xff1a; yum install -y yum-utils device-mapper-persistent-data lvm2 添加Docker的官方仓库…

数据较大时的输入输出

先来看问题 假设全校有最多40000名学生和最多2500门课程。现给出每个学生的选课清单&#xff0c;要求输出每门课的选课学生名单。 输入格式: 输入的第一行是两个正整数&#xff1a;N&#xff08;≤40000&#xff09;&#xff0c;为全校学生总数&#xff1b;K&#xff08;≤2500…

WPF程序给按钮增加不同状态的图片

首先我们在资源里添加几个图片&#xff0c;Up&#xff0c;Over和Down状态。 然后我们创建一个Style。默认我们的背景设置成Up 然后在Triggers里添加代码&#xff0c;当Property&#xff1a;IsMouseOver为True的时候更换成Over&#xff1b;当Property&#xff1a;IsPressed为Tr…

鸿蒙原生应用开发-关于页面接口router返回问题与解决思路

一、模块导入 import router from ohos.router 提供通过不同的url访问不同的页面&#xff0c;包括跳转到应用内的指定页面、用应用内的某个页面替换当前页面、返回上一页面或指定的页面等。 二、接口说明 router.pushUrl()&#xff1a;跳转到应用内的指定页面。 router.replace…

使用Zoho Projects软件进行高效项目管理的方法

本文将通过Zoho Projects项目管理软件的功能&#xff0c;结合一般情况下使用Zoho Projects进行项目管理的过程&#xff0c;为大家展示如何充分利用Zoho Projects项目管理软件进行项目管理。我们将详细介绍任务看板、文档管理、甘特图与报表、里程碑、issue等功能&#xff0c;基…

笔记无法正常展示,小红书笔记收录分析!

很多时候&#xff0c;小红书收录意味着你的流量其实是被记录了&#xff0c;这是有利于你的笔记曝光的一个表现&#xff0c;今天就来带大家一起分享下&#xff0c;为什么笔记无法正常展示&#xff0c;小红书笔记收录分析&#xff01; 一、什么叫小红书笔记收录 不可能所有的笔记…

基于SSM的药店药品销售系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

python数据处理作业1:输出1~100之间不能被7整除的数,美化输出格式要求每行输出10个数字

每日小语&#xff1a; 其实人和树是一样的&#xff0c; 越是向往高处的阳光&#xff0c; 它的根越要伸向黑暗的地底。——尼采 gpt代码&#xff1a; count 0 # 用于计数每行输出的数字个数for num in range(1, 101):if num % 7 ! 0:print(f{num:3}, end )count 1# 如果输…

2023深圳高交会,11月15-19日在深圳会展中心盛大开幕,展出五天时间

跨越山海&#xff0c;共赴鹏城。 11月15日至19日&#xff0c;第二十五届中国国际高新技术成果交易会在深圳会展中心&#xff08;福田展区&#xff09;和深圳国际会展中心&#xff08;宝安展区&#xff09;两馆同时举行。一场不可错过的全球性高科技盛会如期而至。 科技赋能发…

达梦集群搭建_(ky10.aarch64架构)

一、数据库安装 ###&#xff08;一&#xff09;安装前准备 版本准备 [rootlocalhost ~]# uname -a Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux将镜像文件传到/opt目录下 [rootlocalhost100 …