Tapdata 和 Databend 数仓数据同步实战

时间:2023-02-23 16:15:03

作者:韩山杰

Databend Cloud 研发工程师

https://github.com/hantmac

Tapdata 和 Databend 数仓数据同步实战

基础架构在云计算时代也发生着翻天地覆的变化,对于业务的支持变成了如何能利用好云资源实现降本增效,同时更好的支撑业务也成为新时代技术人员的挑战。本篇文章通过:借助 Tapdata Cloud 实现从阿里云 RDS 到云原生数仓 Databend 的数据同步,给大家展示一下 Tapdata Cloud 和 Databend Cloud 在数仓领域的实践。

Tapdata Cloud 是由 Tapdata 提供的集数据复制、数据开发为一体的实时数据服务,能够在跨云、跨地域、多类型数据源的场景下,提供毫秒级的实时数据同步服务和数据融合服务。

Databend 是基于 Rust 开发的一个开源、弹性、负载感知的现代云数仓,赋能企业降本增效。在之前的文章中介绍了如何快速部署 DatabendDatabend Cloud 是基于 Databend 实现的云上大数据解决方案。

1.体验 Tapdata 到 Databend Cloud 数据迁移

部署架构如下

Tapdata 和 Databend 数仓数据同步实战

  • 数据源上部署 Tapdata Agent

  • Tapdata Agent 从 Tapdata Cloud 上获取任务执行

  • apdata Agent 获取的数据写入 Databend Cloud

具体操作如下:

1.1.部署  Tapdate Agent

Tapdata Agent 是数据同步、数据异构、数据开发场景中的关键程序。以上场景对数据的流转有着极高的实时性要求,因此,通过下载 Tapdata Agent 并将其部署在你的本地环境,基于低延迟的本地网络,Tapdata Agent 能够发挥最佳性能以确保数据流转的实时性。

可以参考 Agent 下载及安装 [4]。

1.2  数据同步 (From MySQL to Databend )

这里假设用户已经创建阿里云 MySQL RDS 并在 RDS 中存储了一定量的数据,准备把数据同步到 Databend。

1.2.1 创建 MySQL 连接

在 Tapdata Cloud 中创建 MySQL 连接

Tapdata 和 Databend 数仓数据同步实战

填写相应的连接参数,连接测试通过后保存。

Tapdata 和 Databend 数仓数据同步实战

1.2.2 创建 Databend 连接

在 Beta 数据源中选择 Databend 连接并填写相关连接参数,测试通过后保存。

Tapdata 和 Databend 数仓数据同步实战

1.2.3 创建数据复制任务

Tapdata 和 Databend 数仓数据同步实战

将 MySQL RDS 数据源和 Databend 数据源拖到画布中连接起来,表示准备从 MySQL 同步数据到 Databend。同步模式选择为 `全量同步`(增量同步的模式正在开发中),启动任务。

Tapdata 和 Databend 数仓数据同步实战

开始从 MySQL 同步数据到 Databend,下面展示了同步过程中的信息和数据。

Tapdata 和 Databend 数仓数据同步实战

1.2.4 查看结果

首先看一下 MySQL 中的表:

Tapdata 和 Databend 数仓数据同步实战

同时我们也可以在 Databend 中查询出已经同步过来的表和数据:

Tapdata 和 Databend 数仓数据同步实战

1.3 小结

上面的例子是通过 Tapdata Cloud 跑通一个 MySQL 表以及数据同步到 Databend 。Tapdata 非常强大,能够支持多种异构数据源之间的同步,大家可以到 Tapdata Cloud 上继续探索。

2. Databend 生态介绍

Databend: 是新一代基于对象存储的弹性云数仓产品。地址:https://github.com/datafuselabs/databend

OpenDAL: 是 Databend 中负责和底层存储打交道的一个组件,目前被 Rust 多数据库产品及 Rust sccache 中大量使用,估计不远的将来会成为一个多云对象存储支持最好的产品。地址:https://github.com/datafuselabs/opendal

Openraft: 是 Databend 中负责 Databend Meta 中的集群组件,目前被 SAP 及 许多交易所使用。地址:https://github.com/datafuselabs/openraft

Databend k8s operator: Databend 开源了 helm 基于 k8s 部署的 operator。地址:https://github.com/datafuselabs/helm-charts

文档网站: https://databend.rs/

Databend Cloud: Databend Cloud 是基于 Databend 实现的云 SAAS 的数仓项目,希望把底层的运维及生态全部封状好,对用户提供一站式 SAAS 数仓服务。

目前 Databend Cloud 分为:海外和国内两个版本。

海外版本主要部署在 AWS上,地址:https://databend.com,

国内版本主要部署在阿里云和国内 AWS 上:https://databend.cn , 使用 Databend Cloud 的优势:

  • 基于 Databend 提供云上一站式数仓服务,有相应的安全和降本最佳实践

  • 基于 Databend  存储使用 Parquet 格式,同时支持update, delete, alter table 操作,简化数据维护和  ETL 过程

  • 基于 Databend Cloud 可以打造内部的数据集市

3.使用 Databend 的场景及优势

目前适用场景:

  • 海量日志存储及分析

  • 部分 ES 场景

  • 订单及商品销售情况分析

  • 数据审计场景

使用 Databend 的优势:

  • 基于 Rust + 对象存储 及 k8s 架构,真正实现了存算分离

  • 基于对象存储成本及 Databend 的压缩技术,使存储有 10 倍左右的优化,同时也可以让存储实现按需付费

  • 计算节点无状态,可以让计算实现按需扩缩容

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。