OceanBase 数据源

最近更新时间:2024-09-04 21:35:51

我的收藏
数据集成提供了 OceanBase 的读取能力,本文为您介绍使用 OceanBase 进行实时数据同步的前置环境配置以及当前能力支持情况。

支持版本

目前数据集成已支持 OceanBase 单表及整库级实时读取,使用实时读取能力需遵循以下版本限制:
类型
版本
OceanBase
社区版 3.1.4;企业版 4.2.1.3

使用限制

开白上线,如需使用请 提交工单 进行申请。
增量采集需要部署 logproxy,没有的话任务无法进入增量阶段。
logproxy 必须使用主账户注册,但数据源配置时不能使用主账户。
整库任务当来源端为 OceanBase 时,目标端仅支持使用已有数据库、数据表,不支持自动建库、建表。
不支持 DDL 变更,源端的 Schema 变更不会自动同步到目标端。
仅支持 At-least-once 语义,需要依赖目标端去重能力保证数据唯一性。

实时整库读取节点配置

数据来源设置

OceanBase MySQL 模式和 Oracle 模式在配置上有所差异, MySQL 模式配置如下:



Oracle 模式配置如下:



参数
说明
数据源模式
支持 MySQL 兼容模式、Oracle 兼容模式
数据来源
选择需要同步的 OceanBase 数据源。此处会根据选择的数据源模式进行过滤,如选择 MySQL 模式,此处只展示 MySQL模式的 OceanBase 数据源,不展示 Oracle 模式的数据源。
来源表
所有库表:监控数据源下所有库。任务运行期间新增库、表默认将同步至目标端。
指定表:此选项下需指定到具体表名称,设置后任务仅同步指定表;若需要新增同步表需停止并重启任务。



指定库:此选项下需指定具体库名、表名正则表达式。设置后,任务运行期间符合表名表达式的新增表默认将同步至目标端。



读取模式
全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
过滤操作
支持插入、更新和删除三种操作,设置后将不同步指定操作类型的数据。仅 MySQL 模式支持过滤操作。
时区
设置日志时间所属时区,默认上海。仅 MySQL 模式支持时区。
高级设置(可选)
可根据业务需求配置参数。

支持的目标数据源

当前支持将 OceanBase 数据实时整库同步到以下类型的目标端:

实时单表读取节点配置




参数
描述
数据源模式
支持 MySQL 兼容模式、Oracle 兼容模式。
数据来源
选择需要同步的表所在数据源。
选择需要同步的表所在数据库。
选择需要同步的表。
表主键
用于将表分为多个分片进行同步,仅适用于 MySQL 模式。
读取模式
全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
高级设置(选填)
可根据业务需求配置参数。

读取数据类型转换支持

OceanBase 读取支持的数据类型及转换对应关系如下(在处理 OceanBase 时,会先将 OceanBase 数据源的数据类型和数据处理引擎的数据类型做映射):
Oceanbase MySQL 模式 类型
内部类型
TINYINT/INT/MEDIUMINT/INTEGER
INTEGER
FLOAT,BINARY_FLOAT
FLOAT
DECIMAL/NUMETRIC
DECIMAL
DOUBLE PRECISION,BINARY_DOUBLE
DOUBLE
BOOL/BOOLEAN
BOOLEAN
DATE,TIMESTAMP [(p)]
TIMESTAMP [(p)] [WITHOUT TIMEZONE]
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH LOCAL TIME ZONE
TIMESTAMP_LTZ [(p)]
CHAR(n),NCHAR(n),NVARCHAR2(n),VARCHAR(n),VARCHAR2(n),CLOB,NCLOB,XML, BIT 类型
STRING
BLOB,ROWID
BYTES
INTERVAL DAY TO SECOND,INTERVAL YEAR TO MONTH
BIGINT
Oceanbase Oracle 模式 类型
内部类型
NUMBER
DOUBLE
FLOAT,BINARY_FLOAT
FLOAT
DOUBLE PRECISION,BINARY_DOUBLE
DOUBLE
NUMBER(1)
BOOLEAN
DATE,TIMESTAMP [(p)]
TIMESTAMP [(p)] [WITHOUT TIMEZONE]
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH TIME ZONE
TIMESTAMP [(p)] WITH LOCAL TIME ZONE
TIMESTAMP_LTZ [(p)]
CHAR(n),NCHAR(n),NVARCHAR2(n),VARCHAR(n),VARCHAR2(n),CLOB,NCLOB,XML 类型
STRING
BLOB,ROWID
BYTES
INTERVAL DAY TO SECOND,INTERVAL YEAR TO MONTH
BIGINT