📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

TiDB Cloud Lake 的 Data Pipeline SQL 兼容性



本文档介绍了 TiDB Cloud Data Pipeline 在将数据同步到 TiDB Cloud Lake 时,对 DDL、DML 和列类型的支持情况。你可以使用本文档来规划 pipeline、验证 schema 兼容性,或排查类型转换问题。

DDL 支持概览

DDL 操作状态说明
CREATE TABLE✅
ADD COLUMN✅
ADD COLUMN ... NOT NULL DEFAULT ...✅
DROP COLUMN✅
RENAME COLUMN✅
TRUNCATE✅
MODIFY COLUMN⚠️ 部分支持仅支持下方列出的 schema evolution 场景。其他转换不作保证,并且可能会阻塞下游消费。

支持的 MODIFY COLUMN 转换

从到说明
VARCHARTEXTschema evolution 期间常见的扩宽转换。
TINYINTINT提升整数型存储宽度。
INTBIGINTschema evolution 期间常见的扩宽转换。
INTVARCHAR / TEXT当目标类型被转换为字符串表示时使用。

此处未列出的 DDL 操作不会由 pipeline 处理,并且可能会阻塞受影响表后续的数据消费。此外,单条 ALTER TABLE 语句中组合多个变更的方式不受支持。

DML 支持概览

DML 操作状态
INSERT✅
UPDATE✅
DELETE✅

此处未列出的 DML 操作不会传播到目标端。

类型映射参考

整数类型

TiDB 类型TiDB Cloud Lake 类型
TINYINTINT8
TINYINT UNSIGNEDUINT8
SMALLINTINT16
SMALLINT UNSIGNEDUINT16
MEDIUMINTINT32
INT / INTEGERINT32
MEDIUMINT UNSIGNED / INT UNSIGNED / INTEGER UNSIGNEDUINT32
BIGINTINT64
BIGINT UNSIGNEDUINT64

浮点类型

TiDB 类型TiDB Cloud Lake 类型
FLOATFLOAT32
DOUBLE / REALFLOAT64

精确数值类型

TiDB 类型TiDB Cloud Lake 类型说明
DECIMAL(P,S)DECIMAL(P,S)精度和扩展会被精确保留。NUMERIC(P,S) 也是如此。
DECIMAL(无精度)DECIMAL(76,30)会自动扩宽到最大有效精度,以避免静默截断。
NUMERIC(无精度)DECIMAL(76,30)同上。

日期和时间类型

TiDB 类型TiDB Cloud Lake 类型说明
DATEDATE
DATETIME / DATETIME(n)TIMESTAMP支持小数秒精度。
TIMESTAMP / TIMESTAMP(n)TIMESTAMP支持小数秒精度。
TIMEVARCHARTiDB Cloud Lake 没有独立的 TIME 类型,因此会以文本形式存储。
YEARINT16映射为整数型,而不是时间类型。

字符串类型

TiDB 类型TiDB Cloud Lake 类型说明
CHAR / VARCHARVARCHAR长度不会被保留。
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXTVARCHAR
ENUMVARCHAR需要使用 content-compatible=true 的 changefeed 才能保留 enum 文本。
SETVARCHAR需要使用 content-compatible=true 的 changefeed 才能保留元素文本。

二进制类型

TiDB 类型TiDB Cloud Lake 类型
BINARY / VARBINARYBINARY
TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOBBINARY

其他类型

TiDB 类型TiDB Cloud Lake 类型说明
BOOLEAN / BOOLBOOLEAN
BITUINT64始终映射为无符号类型。全为 1 的 BIT(64) 会超出有符号 INT64 的范围。
JSONVARIANT
未知 / 未列出的类型VARCHAR回退映射;会丢失类型语义。

文档内容是否有帮助?