分库分表至 MaxCompute 实践 | 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习分库分表至 MaxCompute 实践

开发者学堂课程【全链路数据治理-全域数据集成分库分表至 MaxCompute 实践学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1082/detail/16064


分库分表至 MaxCompute 实践


分库分表至 MaxCompute 实践

最后来为大家介绍分库分表同步至 MaxCompute 的最佳实践。

首先业务背景也是 MySQL 在分库分表的场景下,上游的表和库数量非常多,如果需要同时写入一张MaxCompute表,那同时配置多个任务则会导致配置非常复杂,且运为比较困难针对上述的点,data verse数据集成分户分表同步解决方案提供了一键同步的功能,方便业务快速简单的进行数据同步

分库分表同步至MaxCompute的同步解决方案是一种基于binglog的实时同步T加一合成并生成离线表的实时同步解决方案,实时同步数据会写入log表中,Base表每一个天分去存储全量数据,每一天运行合并任务,合并前一天的base表分区;logo表实时数据会产出新的全量分区,在查询数据时一般需要查询base表最新的分区。在配置分库分表解决方案时,可以通过库表名、正则规则等方式限定原库原表,并将符合限定条件的原库原表生成一张目标表

分表解决方案,目前已经支持以下场景,包括单库到分表,比如说分库到分表分库到部分表分库分表解决方案支持的类型,有MySQL以及PoloDB for MySQL两种数据源类型在使用限制上,这个分库分表同步至MaxCompute是需要使用data verse独享据集成资源组的。表数量上限,单数据源,原库支持的上限是50,那单数据源,原表的上限支持是5000,那单同步任务逻辑表数量上限是3000同时,我们也会有跨区的限制,同步解决方案暂时不支持跨区的数据同步,如果同步任务中同步的数据源与使用的data verse资源组不在一个时区,那会导致这个同步的数据出现错误。

接下来是实际的操作时间,准备工作新建MySQL数据源之前我们已经讲过几遍了,就不再做进一步的追述了,包括添加MaxCompute数据源

在任务配置创建完同步任务后,可以选择分分表实时同步至MaxCompute,然后可以配置我们的网络原接,在我们的数据来源中选择多个数据源作为分分表解决方案的数据源,然后点击各个数据源,可以进行收缩和展开同时,可以设置一些任务相关的名称接下来我们会进入分库分表源表的配置,比如说我们具备一些自动生成逻辑表相关的功能接下来在步骤中会有一个自动生成逻辑表的按钮,在数据源列表中,如果选择部分数据源,可以用作生成逻辑表的扫描数据源,那假设我使用两个预设规则生成逻辑表,第一个将来源表名后缀数字不同的表合成为目标表以及直接将来源表相同的表合成为目标表,在这有一些表的数据源会自动生成一些名字,那具体的规则和目标表的名称,大家可以参考这个表格。

接下来就是手动配置逻辑表的功能,刚才是自动的,那如果你这个自动的生成不符合预期结果的话,同过编辑它的匹配规则也可以实现手动配置逻辑表的能力。接下来是我们全局分库的一些规则,可以限定来源的库,这个限定条件可以被应用到下方的所有相关的同步表。下面是逻辑表的编辑规则,每一个同步表的限定条件分为库限定和表限定,全局分布规则会继承同步规则,处于不可编辑状态,如需编辑,可以在全局分布规则中编辑。在全局分布规则之上,还可以编辑某一逻辑表的库的限定条件。

接下来设置目标表,单击刷新表映射会出现这个目标表的列表,单击MaxCompute的表名,可以预览这些表结构那同时,我们在这个数据同步里支持表结构的配置,我们默认的表生命周期是30天,大家可以基于自己的需求,编辑这个表的生命周期。同时我们可以设置表力度的同步规则,支持DML的同步规则,比如说想在离线表里保留原库删除的数据,可以进行这样的一个配置。同时我们可以支持DDL的消息处理规则,当原库新增符合规律子表时,同步解决方案会自动包含这个子表,并且通过实时同步同步创建表以来所有的增量数据,删除指标也是同理。

运行资源设置大家可以参考,我们之前是添加了独享调度资源组和独享数据集成资源组来做这样一个运行,数据集成资源组就是在数据集成相关使用的资源会使用我们独享数据集成资源组,那我们刚才提到这个场景当中会有一些离线调度的能力,这个离线调度大家可以使用公共的调度资源组,也可以使用独享的调度资源组。

独享和公共的区别就是在某一些场景下,比如说高峰期的时候,公共有时候会资源紧张,就比如说你可能数据集成资源是足够的,但是这个离线的调度可能资源不够了,那这个任务可也可能会晚一些运行,所以说,如果想要保证资源和稳定性的话,可以购买两种独享资源组。

配置完成之后,就直接可以把我们这个任务提交运行了,那接下来是任务运维,任务运维可以查看任务相关的各种状态以及任务节点之间依赖的关系,因为刚才我们说了我们创建了多个不同的任务。

同时,我们可以进行这个增减这个数据源的一个操作,我们可以直接在同步解决方案当中增加或者减少同步的数据源来修改我们的这个同步任务。除了支持增减数据源,还支持增减表,大家可以在修改同步任务的时候进行添加逻辑表或者删除逻辑表。

后面有我们一些正则表达式的参考,大家如果有一些不同的规则,可以参考这个表格来进行一些正则表达式的撰写,以上就是我们这节课的所有内容。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4月前
|
SQL 分布式计算 运维
如何对付一个耗时6h+的ODPS任务:慢节点优化实践
本文描述了大数据处理任务(特别是涉及大量JOIN操作的任务)中遇到的性能瓶颈问题及其优化过程。
|
3月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
95 4
|
2天前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
13 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
2月前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
7月前
|
数据采集 数据可视化 大数据
Python在大数据处理中的应用实践
Python在大数据处理中扮演重要角色,借助`requests`和`BeautifulSoup`抓取数据,`pandas`进行清洗预处理,面对大规模数据时,`Dask`提供分布式处理能力,而`matplotlib`和`seaborn`则助力数据可视化。通过这些工具,数据工程师和科学家能高效地管理、分析和展示海量数据。
316 4
|
2月前
|
边缘计算 人工智能 搜索推荐
大数据与零售业:精准营销的实践
【10月更文挑战第31天】在信息化社会,大数据技术正成为推动零售业革新的重要驱动力。本文探讨了大数据在零售业中的应用,包括客户细分、个性化推荐、动态定价、营销自动化、预测性分析、忠诚度管理和社交网络洞察等方面,通过实际案例展示了大数据如何帮助商家洞悉消费者行为,优化决策,实现精准营销。同时,文章也讨论了大数据面临的挑战和未来展望。
|
6月前
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
18536 54
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
3月前
|
SQL 消息中间件 分布式计算
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
114 0
|
3月前
|
SQL 大数据
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
79 0
|
3月前
|
SQL 消息中间件 分布式计算
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
77 0