数据同步利器之Tapdata Cloud
发布于 3 年前 作者 dgong 3295 次浏览 来自 分享

一、数据同步概述

数据同步,顾名思义就是对不同系统之间的数据进行同步处理。开发过程中遇到数据同步需求有很多,比如数据冗余备份、缓存实时更新不同系统间基础数据实时同步等。同步方案的选择,需要根据具体的需求,同时还需要考虑数据同步的实时性,安全性、功能多样性、使用简洁性等方面来确定。在实际开发过程中比较常见的数据同步方案包括数据异步回调,定时更新,mysql主从备份,canal数据异构等 。

2020年5月份接到一个项目涉及到数据中台,原项目基础数据比较复杂,来源于四个不同单位的数据库数据,而且在这四个单位的基础数据上运行着多家不同公司的应用。数据中台的目标就是取代四个单位的基础数据,作为数据中心对接不同公司, 支撑应用正常运行。负责数据中台服务的是深圳钛铂公司(https://tapdata.net/),Tapdata团队提供一系列的数据全量/增量同步,数据清洗,数据治理等功能,对接数据进行挖掘分析,打通了各个平台的数据,完美解决了基础数据来源复杂,平台间的单点登录,统一信息发送等问题。本篇文章主要介绍钛铂公司提供的数据同步功能产品Tapdata Cloud,Tapdata Cloud数据同步能够在跨云、跨地域、多类型数据源的场景下,提供毫秒级的实时数据同步服务和数据融合服务。

二、Tapdata Cloud工作原理介绍

2.1.名词解释

  • TCM管理端:Tapdata云端管理控制台,让用户可以自主定义编排同步任务,并下发同步任务给到同步实例。
  • Agent:是指运行同步任务的执行程序,负责从管理端获取任务、连接源数据源、执行数据转换、输出到目标数据源。
  • 目标端连接:是指在数据同步任务中,能够访问目标数据对象并能够操作数据的连接配置。
  • 源端连接: 是指在数据同步任务中,能够访问源数据对象并能够查询数据的连接配置。
  • 数据源:从外部连接到Tapdata系统的数据来源。当前支持的数据源主要指数据库(Database),后续将逐步增加File、GridFS、RestAPI、Dummy、Custom、UDP、Cache等类型。
  • 增量数据同步:在数据流任务中,多个数据源之间通过特定的关联关系或处理的数据实时同步,适用于在不影响用户业务的情况下,满足用户对数据的分析、处理、灾备等方面的场景。
  • 全量数据同步:又指数据库迁移/数据库克隆,在数据流任务中,各种库级别数据源之间的数据全量迁移,适用于实例数据迁移、数据上下云迁移、数据库拆分扩容等业务场景。

2.2工作原理

Tapdata cloud manager,TCM是Tapdata Cloud的管理端,负责agent实例的安装,同步任务的配置、分发、任务状态监测。Tapdata agent,是Tapdata Cloud数据同步服务的执行实例,负责从TCM获取任务信息,通过流式技术从源系统获取数据、处理转换数据并发送到目标系统,并在任务执行过程中监测并上报任务状态至TCM。

apdata Cloud采用了多种网络安全措施,确保用户数据和信息安全。同步实例节点单向连接管控端运行服务。 Tapdata agent实例节点对外不主动暴露网络信息,只会连接 TCM管理端服务,获取任务信息、上报状态信息。用户部署的Tapdata agent实例节点和 TCM 通信链路采用 HTTPS 协议,防止盗取并篡改信息。自建模式下,所有数据流转均发生在受用户管理的服务器和网络环境,数据不流出泄漏。


Tapdata Cloud的数据同步包括全量同步和实时增量同,实现的过程如下图所示:

三、Tapdata Cloud安装使用

3.1、Agent安装及部署(linux环境和docker安装部署可参考官网文档https://www.yuque.com/tapdata/cloud/chan-pin-jian-jie_readme)

windows环境安装部署

  • Java 1.8 安装和配置
  • Agent创建部署

a.创建Agent,此时在列表管理页面中有一个待部署的Agent实例;

b.点击部署按钮,下载对应的Agent版本;

c.在Agent对应目录中打开控制台,运行一下命令;

tapdata start backend --downloadUrl https://resource.tapdata.net/package/feagent/dfs-1.0.4-prod/ --token a/HZzXh5MDbwPGd8hCzZYYF0XXgDZ287oY34Sx3QAq5Z7zikkMRcI62kZHXq8RRJj6VrJcSY6ehw4iM8d8LW1aJ+E6BfUfUHLuSr5vtr3I/0zAMx3oCcJAPAUheHGBuQCwUBPr8W6GCBSmF8ipIKbnAKMhmj5vjHSERYuyUWPrYiuioCbdR3M43Nb9x1OeFLoQEPsfeZ5xZSpJGFQcQDqoDAc+9Fbqys9rIodO7EsT1H03kUjBVHmA8JHd3DW2AdcFCE4Vl1arpA40kbSZk/4fiPruYyhAB7p16CpB97bfxxDO4gx3r/gxE3x0PuVlOFow+Og+hhSkZhK27I8RHhaFF9/fjliIzwLLZaiXkUvkP2PfbjrIvbBsAI+e762BXOXrZRkinBxXr/IgIeu8A00ErmeWfRw7nZ9vvwbpkRbO5PMzvfz5K7HzjVvYErsJDe9w0u6UoZ0XZIxq0RyNfXFw==

3.2、连接管理

  • 点击连接管理页面,连接列表右上方的创建连接可以创建新的连接;
  • 输入完连接信息后点击连接测试,测试包括:连通性检测、账号登录检测、账号权限检测、数据源版本检测、数据源日志开启检测及数据源日志格式检测。测试同步通过点击保存则连接创建完成

3.3、任务管理及数据同步

  • 点击右上角的创建任务按钮,开始创建同步任务
  • 选择源端和目标端
  • 进行任务设置: 对任务名称、同步类型、遇错处理设置
  • 映射设置:用户可以点击箭头将源端的数据表放到目标表中
  • 开启任务

四、Tapdata Cloud数据同步优势

  • 可视化操作界面:用户可以在界面上轻松完成数据同步任务的编排与流程设置,极大的降低了同步任务流定义的复杂度,提升了效率和质量。
  • 数据库/中间件支持范围广:几乎支持所有主流的数据库和中间件,包括:MongoDB、MySQL、Oracle、SQL Server、DB2、elastic、Kafka、Sybase、PostgreSQL、Redis、GaussDB等
  • DIY数据同步:用户可以根据自己的需求创建数据同步任务,可以过滤筛选字段得到自己想要的数据
  • 安装部署简单:Tapdata Cloud安装部署全部可以通过TCM管理界面实现,简单易学上手快


笔者曾经在项目中搭建canal花费了1天的时间才跑通,而第一次使用Tapdata Cloud大概半个小时就完成任务创建数据同步......




回到顶部