tencent cloud

云数据库 MariaDB

动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
系统架构
实例类型
实例架构
分布式版本
数据库版本
购买指南
计费概述
产品定价
退费说明
欠费说明
升级计费
备份空间计费
快速入门
创建实例
管理账号
连接实例
操作指南
使用前须知
实例管理
灾备/只读实例
账号管理
读写分离
修改网络
备份与回档
数据迁移
数据库同步(旧版)
安全管理
监控与告警
KILL 线程
参数模板与设置
数据库审计
实践教程
编程与使用规范
分布式版本编程与使用规范
利用热点更新技术应对秒杀场景
安全白皮书
平台侧安全设计
租户侧安全功能
开发指南
功能限制
性能检测
同城双活解决方案
Binlog 日志消费格式
慢查询分析
数据库审计
数据库审计已支持语法
API 文档
History
Introduction
API Category
Making API Requests
Security Group APIs
Other APIs
Account APIs
Parameter Management APIs
Monitoring Management APIs
Instance Management APIs
Backup and Restoration APIs
Data Types
Error Codes
常见问题
产品常见问题
账号登录问题
功能相关问题
性能相关问题
备份相关问题
运维相关问题
磁盘超用问题
IO 类监控项异常问题
通用参考
标准与认证
主要规格性能说明
强同步性能对比数据
词汇表

数据同步概述

PDF
聚焦模式
字号
最后更新时间: 2024-01-11 11:14:10

数据同步要求

数据同步功能支持两个数据源之间的数据实时同步,可应用于本地数据灾备、查询与报表分流、商业智能分析(BI)及实时数据仓库等多种业务场景。
支持同步的实例类型
源实例类型
目标实例类型
【公有云】云数据库 MariaDB/MySQL
【公有云】云数据库 MariaDB/MySQL
【公有云】云数据库 PostgreSQL
【公有云】消息队列 Ckafka
【专有云】云数据库 MariaDB/MySQL
【公有云】分布式数据库
【公有云】分布式数据库
【公有云】消息队列 Ckafka
【专有云】分布式数据库
支持的同步拓扑 数据库同步功能支持“一对一单向同步、一对多单向同步、级联单向同步、多对一单向同步”的串行拓扑,不支持“双向环状同步”拓扑。
支持的实例版本
MariaDB 10.0、10.1
MySQL 5.6、5.7
PostgreSQL 9.6
Ckafka 所有版本
支持的同步语法
DML 操作:INSERT、UPDATE、DELETE。
DDL 操作:CREATE TABLE、ALTER TABLE、ADD COLUMN、DROP COLUMN、RENAME COLUMN。
数据库同步对象 同步对象支持精确匹配数据库、表;支持正则匹配数据库、表。暂不支持非数据表对象,如存储过程、视图、索引、触发器等,如需非数据表对象请在目标端手动创建。
数据库同步费用 数据库同步功能目前免费。
数据库同步网络 目前仅支持腾讯云同地域内数据库实例之间及专线内的数据库同步。跨地域的数据同步或灾备需 提交工单,工单请备注两地实例 ID 和同步需求,审批通过后方可开启。

数据同步功能

数据类型转换

MariaDB/MySQL 到 PostgreSQL 的同步

MariaDB/MySQL 与 PostgreSQL 的数据类型不同,数据库同步工具将按如下规则进行转换:
MariaDB/MySQL 数据类型
同步到 PostgreSQL 后的数据类型
tinyint/smallint
smallint
mediumint/int
integer
bigint
bigint
real/double
double precision
float
float
bit
bit
bool/boolean
boolean
char/varchar
char/varchar
binary/varbinary
text
year/date/time/datetime/timestamp
timestamp without time zone
tinyblob/mediumblob/blob/longblob/long
bytea
mediumtext/text/longtext
text
decimal/numeric
decimal/numeric
enum
integer
说明:
表中所述类型的列在转换过程中数据长度保持不变,表中未列出类型在转换过程中保持不变。

MariaDB/MySQL 到分布式数据库的同步

MariaDB/MySQL 与分布式数据库的数据类型相同,不存在数据类型转换情况。

MariaDB/MySQL 到 CKafka 的同步

相关数据将转换为 JSON 格式,请参见 Binlog 日志消费格式

分布式数据库到 CKafka 的同步

相关数据将转换为 JSON 格式,请参见 Binlog 日志消费格式

数据订阅功能

数据同步到 Ckafka 已支持数据订阅,配置前需先购买 Ckafka,详细介绍请参见 消息队列 CKafka,配置建议如下:
规格 可通过计划同步的实例每日更新数据量、日均峰值或平均值、计划保留在 Ckafka 的时间来评估 Ckafka 实例规格。 例如,某实例每日更新1000万行,每行数据2KB,日均写入峰值为2万行每秒,期望 Ckafka 选用3副本,存储数据3天。 则该实例每日更新数据20GB,转换为 JSON 后约30GB,存储3天,3副本约需要空间270GB,数据库写入峰值带宽约39MB/s,Ckafka 选3副本的吞吐量约117MB/s,选择 Ckafka 的标准型即可基本满足需求。
网络 建议与源实例处于相同的 VPC 网络下。
topic 选择 一个同步任务需占用1个 topic,多个同步任务需分别选择多个且不同的 topic,否则可能导致数据混乱。
参数选择 以下建议仅供参考,具体请根据实际需求选择。
分区数(partition):1
副本数:3
cleanup.policy:删除
min.isync.replicas:2
unclean.leader.election.enable:false
数据一致性 由于网络中断或其他原因,数据库实例生产到 Ckafka 的消息可能重复,此时消费端重放数据时,可以采用幂等方式消除。
说明:
幂等,即多次重复执行消息时,最终数据一致,当遇到主键冲突的记录时,先进行 delete 再 insert,如果 update 无法匹配到数据,会强行插入;delete 找不到数据,直接跳过。通过幂等方案即可以实现数据消费一致性。使用幂等时表必须要有主键或有不能为 NULL 值的唯一索引。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈