欢迎光临散文网 会员登陆 & 注册

使用 Databend 助力 MySQL 的数据分析

2022-06-29 12:08 作者:Databend  | 我要投稿

目标

Databend 是一个非常先进的基于对象存储的云原生数仓[1]可以提供强大的计算分析及存储能力。让 MySQL DBA 非常眼馋。今天想把 MySQL 的 wubx 库从 MySQL 全量迁移到 Databend 中。 

借助工具:dumpling[2]

Dumpling 介绍

Dumpling[3] 是支持以 SQL 文本或者 CSV 格式将 MySQL/TiDB 数据导出的工具。设计初衷是为了替代 Mydumper[4] 所以基本用法可以参考 Mydumper, 当然在实现中没有完全照搬 Mydumper, 因此存在与 Mydumper 不同的用法。

更多帮助:https://github.com/pingcap/tidb/blob/master/dumpling/docs/cn/user-guide.md

遗憾的 TiDB 没有提供 dumpling 的单独下载,只提供了大的 package:https://pingcap.com/zh/product-community/ 内含:dumpling 二进制包,下载安装就省略了。

环境说明

现在 MySQL 中 wubx 库是 sysbench 生成的数据,10 个表,每个表 1000 万数据。

迁移目标:Databend

Databend 安装部署参考:https://databend.rs/doc/deploy

使用 dumpling 备份现有数据库

命令说明 

-u  mysql 用户名 

-p  mysql 密码 

-P  mysql 端口 

-h  mysql 机器ip

--filetype csv 指定使用 CSV 格式导出(非常重要) 

-t 8 使用 8 进程导出 

-o ./ 指定导出来的文件存放位置 

-F 导出文件的大小 

-B wubx 指定导出的数据库 

命令运行后导出来文件如下:

因为 Databend 对 MySQL 的语法并没有完全兼容,这里需要去除 schema 上的一定义:

  • engine=InnoDB

  • 二级索引

  • 注释,这个在新的 planner 中已经支持

针对 sbtest 表处理可以比较暴力的:

处理完表结构如下:

好了,后续的我们开始使用 streaming_load 来加载数据了。

使用 databend 的 streaming load 加载数据

这里导入数据的核心是利用了 databend streaming load 功能,具体参考:https://databend.rs/doc/load-data/local

首先在 databend 中创建 wubx 数据库

因为表的数量较多,这里使用了一个脚本

cat im.sh

脚本比较粗糙,可以根据实际情况调整。运行脚本就可以完成数据加载。

进行分析计算

到这里数据已经加载到 Databend 中了, 如果是你用的真实数据,你可以运行一下统计分析类数据测试一下了。顺便说一下,如果你为了体验 databend 的 join 功能。可以把新 planner 打开。

利用 show settings 确认 enable_planner =1 就可以使用 Databend 的 join 功能。 目前 join 差不多 1-2 周就可以对外默认开放,大家在使用不足的方也可以在 github 上反馈一下。

引用链接

[1]:https://github.com/datafuselabs/databend↩

[2]:https://github.com/pingcap/tidb/tree/master/dumpling↩

[3]:https://github.com/pingcap/tidb/blob/master/dumpling↩

[4]:https://github.com/pingcap/mydumper↩

关于 Databend

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

  • Databend 文档:https://databend.rs/

  • twitter:https://twitter.com/Datafuse_Labs

  • Slack:https://datafusecloud.slack.com/

  • Wechat:Databend

  • GitHub :https://github.com/datafuselabs/databend

文章首发于公众号:Databend


使用 Databend 助力 MySQL 的数据分析的评论 (共 条)

分享到微博请遵守国家法律