kafka实时读取sqlserver数据_SQLServer CDC数据通过Kafka connect实时同步至分析型数据库 AnalyticDB For PostgreSQL及OSS...

本文详细介绍了如何利用SQLServer的CDC功能,结合Kafka Connect,实现实时将SQLServer的数据同步到AnalyticDB For PostgreSQL (ADB4PG) 和OSS。首先,文章讲解了SQLServer开启CDC的步骤和条件,然后阐述了ADB4PG作为目标数据库所需满足的条件。接着,介绍了Kafka环境的搭建和所需插件的安装配置,最后展示了如何启动Kafka Connector任务进行数据同步,并在ADB4PG和OSS查看同步结果。
摘要由CSDN通过智能技术生成

背景

SQLServer为实时更新数据同步提供了CDC机制,类似于Mysql的binlog,将数据更新操作维护到一张CDC表中。

开启cdc的源表在插入INSERT、更新UPDATE和删除DELETE活动时会插入数据到日志表中。cdc通过捕获进程将变更数据捕获到变更表中,通过cdc提供的查询函数,可以捕获这部分数据。

CDC的使用条件

1.SQL server 2008及以上的企业版、开发版和评估版;

2.需要开启代理服务(作业)。

3.CDC需要业务库之外的额外的磁盘空间。

4.CDC的表需要主键或者唯一主键。

图1:Sqlserver CDC原理

ADB4PG Sink使用条件

需要提前使用建表语句,在ADB4PG端建表,系统不会自动创建(如果有需要可以加这部分功能)

每张表需要有主键或唯一主键

当前支持的数据格式:INTEGER,BIGINT,SMALLINT,NUMERIC,DECIMAL,REAL,DOUBLEPERICISION,BOOLEAN,DATE,TIMESTAMP,VARCHAR

环境准备

SQLServer环境准备

已有自建SQLServer或云上RDS实例(示例使用云上RDS SQLServer实例)

已有windows环境,并安装SSMS(SQL Server Management Studio),部分命令需要在SSMS执行

SQLServer环境建表

-- 创建源表

create database connect

GO

use connect

GO

create table t1

(

a int NOT NULL PRIMARY KEY,

b BIGINT,

c SMALLINT,

d REAL,

e FLOAT,

f DATETIME,

g VARCHAR

);

-- 开启db级的cdc

sp_rds_cdc_enable_db

-- 验证数据库是否开启cdc成功

select * from sys.databases where is_cdc_enabled = 1

-- 对源表开启cdc

exec sp_cdc_enable_table @source_schema='dbo', @source_name='t1', @role_name=null;

ADB4PG端创建目标表

CREATE DATABASE connect;

create table t1

(

a int NOT NULL PRIMARY KEY,

b BIGINT,

c SMALLINT,

d REAL,

e FLOAT,

f TI

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值