Iceberg调研报告-腾讯数据集成工具报告
|
标题
|
测试报告
|
|---|---|
| 背景目标 |
大航海databus任务在合并阶段费资源,且大表执行时间较长,期望缩短同步时间可以10分钟抽10亿条数据。数据同步需要先建表,再建任务,配置不方便。 |
| 结论 | 在满足配置时可以达到期望速度,配置如下 |
| 所需环境信息 |
mysql=========CPU:16核 内存:32G IOPS:32000 数量2台 离线资源包=====CPU:8核 内存:16G 数量:16个 实时资源包=====CPU:16核 内存:32G 数量:16个 |
| 建议方案 |
离线同步: 方案1:直接走离线资源包,达到配置就可以满足10分钟抽10亿条。问题:离线资源包所属pod有瓶颈,128核才刚满足,需再快的话需要单独联系采用大核数服务器 实时同步: 方案1:全量抽取阶段走离线资源包,增量抽取走实时资源包。因为全量抽取可以满足快速抽数诉求,相对纯用实时资源,比较省资源。增量同步走实时资源包 方案2:纯走实时资源包,任务配置管理比较方便,可以分阶段配置资源,如全量抽取配置资源大一些,增量抽取使用小资源。缺点是实时任务每分钟要保留检查点,sink算子写入时也比较费资源,是离线资源的三倍。 |
| 概念 |
离线资源组:由固定cpu内存组成的资源组,是一台Pod虚拟隔离出来的资源。 Pod:隐藏概念,多个离线资源组组成一个Pod,Pod可以理解为一个虚拟物理机有资源上限,也是抽数速度上限,目前最大128核,如扩容需单独申请。 实时资源组:底层为腾讯oceanus,理论上可以无限扩,可以达到很高的同步能力 |
| 相关文档 |
mysql数据库性能介绍:https://cloud.tencent.com/document/product/236/19707 数据集成工具入口:腾讯云控制台,搜索数据集成 使用教程:腾讯数据集成工具使用 详细测试信息:腾讯数据集成工具性能测试 |
一、资源规格
1、mysql数据库
|
分组名称
|
名称
|
内存
|
CPU
|
IOPS
|
磁盘
|
版本
|
|---|---|---|---|---|---|---|
| 低配 | bdg-test | 8G | 4核 | 8000 | 200GB | MySQL5.7 |
| 中配 | test-wangshida | 16G | 8核 | 20000 | 1700GB | MySQL5.7 |
| 高配 | test-wangshida | 32G | 16核 | 32000 | 1700GB | MySQL5.7 |
2、测试数据表
|
数据库
|
测试表名
|
数据行数
|
列数
|
总存储量
|
数据存储量
|
索引存储量
|
存储引擎
|
|---|---|---|---|---|---|---|---|
| 低性能 | order_info | 162 8287 | 40 | 1.25 GB |
416 MB |
844MB | InnoDB |
| 低性能 | order_info1 |
2 6119 6181 |
40 |
77.28 GB |
58.03 GB |
16.12 GB |
InnoDB |
| 高性能 | order_info1 | 2 9359 9266 | 40 | InnoDB | |||
| 高性能 | ss_robot_task_test | 约11亿 | 25 | 1.19TB | 1.19TB | 0 | InnoDB |
3、数据集成资源包
离线资源包
|
分组名称
|
名称
|
内存
|
CPU
|
数量
|
|---|---|---|---|---|
| 低配 | 离线资源包 | 16G | 8核 | 1 |
| 中配 | 离线资源包 | 32G | 8核 | 2 |
| 高配 | 离线资源包 | 16G | 8核 | 8 |
实时资源包
|
分组名称
|
名称
|
内存
|
CPU
|
数量
|
|---|---|---|---|---|
| 低配 | 实时资源包 | 64G | 16核 | 1 |
| 中配 | 实时资源包 | 64G | 16核 | 2 |
二、离线同步
期望10分钟10亿条数据,以下为不同配置的最高速度
|
资源组 |
数据库 |
同步表 |
同步数据量 |
并发 |
同步花费时间 |
平均速度 |
平均速率 |
mysql资源 |
离线包资源 |
|---|---|---|---|---|---|---|---|---|---|
| 低配(1个) | 低配 | order_info | 162 8287 | 1 |
费时:61秒 |
6.26MB/s |
3.36万条/s |
CPU:5% |
CPU:26% 内存:24% |
| 低配(1个) | 低配 | order_info1 | 2 6119 6181 | 最优10 |
费时:43分钟 |
16.97MB/s |
10.36万条/s | CPU:11.46% |
CPU:95%以上 内存:95%以上 |
|
中配(2个) |
低配 | order_info1 | 2 6119 6181 | 最优20 | 费时:23.6分钟 |
30.94MB/s |
18.89万条/s |
CPU:21.91% |
CPU:95%以上 内存:40%以上,32G没用上 |
| 高配(8个) | 低配 | order_info1 | 2 6119 6181 | 最优10 |
费时:10分钟 |
73.95MB/s |
45.15万条/s |
CPU:86% IOPS:120% |
80%以上 |
| 高配(8个) | 高配 | order_info1 | 2 9359 9266 | 最优20 |
费时:6.73分钟 |
120.87MB/s |
73.39万条/s |
CPU:16% IOPS:37% |
80%以上 |
| 高配(8个) | 高配 | ss_robot_task_test | 约11亿 | 最优20 | 费时:19.58分钟 |
157.77MB/s |
96.24万条/s |
CPU:23.69% IOPS:120% |
80%以上 |
| 期望-高配(16个) | IOPS:64000 | 24个列的表 | 约10亿 | 20 | 期望10分钟 | 300MB/s | 200万条/s | - | - |
期望10分钟10亿,则需要以下配置:
|
类型 |
CPU |
内存 |
磁盘 |
数量 |
其它 |
月费用 |
|---|---|---|---|---|---|---|
| mysql | 32核 |
256GB |
最低1.7TB | 1 | 单节点IOPS:80000 | |
| mysql |
16核 |
32GB | 最低1.7TB | 2 | 单节点IOPS:32000 | |
| 数据集成-离线包 | 8核 | 16GB | - | 16 | 8*16=128核 |
调优方法:
1、根据资源包规格调整并发,单任务可以跨资源包,但不可以跨pod。单pod目前最大128核,目前最大抽数瓶颈是10分钟10亿条数据
注:
1、单任务只能在一个pod上跑,单pod有资源瓶颈,如单pod最大只能128核,再大需要走特殊申请
2、单pod最大能满足10分钟10亿条期望,如期望再高,则需要单独申请高核数和内存的服务器
3、并发根据资源包设置,低配10并发合适,高配20并发合适
三、实时同步
期望10分钟10亿条数据,以下为不同配置的最高速度
|
资源组 |
数据库 |
同步表 |
同步数据量 |
TaskManager规格 |
同步花费时间 |
速度 |
速率 |
mysql cpu使用 |
实时包使用率 |
|---|---|---|---|---|---|---|---|---|---|
| 低配(1个) | 低配 | order_info1 | 2 6119 6181 | 0.5CU*26 |
约40分钟 |
高40MB/s 低37MB/s |
高峰12.69万条/s 低峰11.24万条/s |
19% | 93.75% |
| 中配(2个) | 低配 | order_info1 | 2 6119 6181 | 1CU*30 |
约20分钟 |
高100MB/s 低95.96MB/s |
高峰26.71万条/s 低峰25.37万条/s |
45% |
100% |
| 中配(2个) | 低配 | order_info1 | 2 6119 6181 | 0.5CU*60 | 约20分钟 |
高96.63MB/s 低89.55MB/s |
高峰25.5万条/s 低峰23.70万条/s |
42% | 100% |
| 中配(2个) | 高配 | order_info1 | 2 9359 9266 | 1CU*30 | |||||
| 期望高配(16个) | IOPS:64000 | 订单表 | 约10亿 | 20 | 期望10分钟 | 300MB/s | 200万条/s | - | - |
期望10分钟10亿,调大实时资源包大小即可,没有扩容瓶颈,预估资源如下
|
类型 |
CPU |
内存 |
磁盘 |
数量 |
其它 |
月费用 |
|---|---|---|---|---|---|---|
| mysql | 32核 |
256GB |
最低1.7TB | 1 | 单节点IOPS:80000 | |
| mysql |
16核 |
32GB | 最低1.7TB | 2 | 单节点IOPS:32000 | |
| 数据集成-实时 | 16核 | 64GB | - | 16 | 16*16=256核 |
Iceberg调研报告-腾讯数据集成工具报告的更多相关文章
- 数据集成工具Kettle、Sqoop、DataX的比较
数据集成工具很多,下面是几个使用比较多的开源工具. 1.阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).H ...
- 数据集成工具Teiid Designer的环境搭建
由于实验室项目要求的关系,看了些数据汇聚工具 Teiid 的相关知识.这里总结下 Teiid 的可视化配置工具 Teiid Designer 的部署过程. 背景知识 数据集成是把不同来源.格式.特点性 ...
- 数据集成工具:Teiid实践
数据集成是把不同来源.格式.特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享.数据集成的方式多种多样,这里介绍的 Teiid 是其中的一种:通过抽象和联邦技术,实现分布式数据源的 ...
- 数据集成工具—Sqoop
数据集成/采集/同步工具 @ 目录 数据集成/采集/同步工具 Sqoop简介 Sqoop安装 1.上传并解压 2.修改文件夹名字 3.修改配置文件 4.修改环境变量 5.添加MySQL连接驱动 6.测 ...
- 数据集成工具—FlinkX
@ 目录 FlinkX的安装与简单使用 FlinkX的安装 FlinkX的简单使用 读取mysql中student表中数据 FlinkX本地运行 MySQLToHDFS MySQLToHive MyS ...
- 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)
0. 环境说明及软件准备 ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取.转换和加载.ODI可以实现当今大多数的主流关系型数 ...
- 【转载】soapui基于持续集成工具自动化运行的调研姿势
soapui中的testrunner.bat调研姿势,用于自动化测试副标题:soapui基于持续集成工具自动化运行的调研姿势 各位亲爱的同仁们,大家好吗?最近项目在搞持续集成工具,我们的测试用例都是基 ...
- 数据库设计_ERMaster安装使用_PowerDesigner数据设计工具
数据库设计 1. 说在前面 项目开发的流程包括哪些环节 需求调研[需求调研报告]-- 公司决策层 (1) 根据市场公司需求分析公司是否需要开发软件来辅助日常工作 (2) 公司高层市场考察,市场分析,决 ...
- [Hadoop 周边] Hadoop和大数据:60款顶级大数据开源工具(2015-10-27)【转】
说到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,“100%的大公司”会采用Hado ...
- 用持续集成工具Travis进行构建和部署
用持续集成工具Travis进行构建和部署 用持续集成工具Travis进行构建和部署 摘要:本文简单说明了如何使用持续集成工具Travis进行构建和部署的过程. 1. 概述 持续集成(Continuou ...
随机推荐
- vue中登录超时跳转到登录页面设置拦截器
axios中添加响应拦截器 Axios.interceptors.response.use(res = > { let resData = res.data; if (resData.code ...
- goland之基础使用
安装go之后, 1.设置环境变量 GOROOT,GOPATH 2.goland配置 配置GOPATH GO Modules GOPROXY=https://goproxy.io,direct 设置自动 ...
- php7.4.x~php8.0.x 新特性
PHP 核心中的新特性 命名参数 新增 命名参数 的功能. // array_fill(int $start_index, int $count, mixed $value): array // 使用 ...
- C# 之 Int16 Int32 Int64 的区别-迷恋自留地
int16 值类型表示值介于 -32768 到 +32767 之间的有符号整数. Int32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数. In ...
- ChatGPT在功能测试用例生成方面的优势
功能测试是软件测试的非常重要的分类,所有软件系统都要保证功能的正确性,而测试用例则是功能测试的重中之重.测试用例的编写是测试人员必须认真面对的一件耗时费力.枯燥乏味的工作.如何才能快速高效地编写测试用 ...
- openEuler欧拉部署Harbor
一.系统优化 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 二.安装Harbor wget https://github.co ...
- C/C++实例汇集(1)
1.用代码判断一个系统是16位系统还是32位系统? 以下是几种常见编程语言中判断系统是 16 位还是 32 位的代码示例 C语言: #include <stdio.h> int main( ...
- git 忽略某些文件
如果git项目里没有 '.gitignore' 文件,则需要执行下面的操作,生成一个 生成 '.gitignore' 文件 1. git bash 打开git窗口 执行:touch .gitign ...
- linux su命令卡顿,linux su特别慢问题排查
问题:发现同机房两台同网络域的主机,一台su用户正常,一台每次都需要等5s左右. 进展:杂事儿太多没深入排查,后续又发现了几台有同样问题的主机.非常影响效率.开始入手排查 分析: 1.之前遇到过类似问 ...
- Qt编写安防视频监控系统45-图文报表
一.前言 图文报表对应以前的文字报表,以前的日志查询后,需要打印或者导出,都是一行行的文字记录,近期需要图文警情记录打印和导出,于是彻底趁机将之前的数据导入导出(xls/pdf)及打印组件彻底改造重写 ...