首页 文章 精选 留言 我的

精选列表

搜索[主从同步],共10000篇文章
优秀的个人博客,低调大师

一台时间同步装置,让设备时间保持一致

在厂区、机房等场景中,网络内往往部署大量网络设备,包括交换机、服务器、PLC、视频采集设备、门禁终端等。每一台设备都自带本地硬件时钟,用于记录时间。硬件时钟受元器件特性、环境温度、设备负载以及运行时长影响,会持续产生时钟漂移。长期运行后,各设备之间会形成时间偏差,部分设备快、部分设备慢。

优秀的个人博客,低调大师

数据同步写Oracle表耗时25分钟缩短到23秒——SeaTunnel性能优化

本文主要给大家介绍JDBC Source批处理任务动态切分优化,希望大家批评指正 JDBC Source 如果配置了table_path 和 partition_column,引擎会对数据进行动态切分,可以通过分析样本数据优化切分区间,规避数据倾斜问题。 目前发现任务即使配置了where_condition,动态切分算法仍然会把数据进行全表切分,在从大表中读取少量数据的场景下,任务切分阶段会耗费大量的时间,需要修改下面相关的流程进行优化。 下面所有出现SQL语句的地方均以MySQL为例子进行说明,具体不同的数据源有不同的子类方法overwrite实现。 数据切分主流程 数据动态切分的代码入口位于DynamicChunkSplitter类中的splitTableIntoChunks方法,流程图中标红的方框表示需要修改的部分,详细在下面的子流程中展开说明。 查询最大最小值 需要加上Source的where_condition配置的判断和拼接。 通用字段切分 查询数据总条数部分 (1)增加且where_condition配置为空才走"是"的分支 (2)修改"否"分支,增加where_condition的判断和对应查询语句的拼接,子查询和表查询的规则如下: 如果配置了Query则查询SQL为 SELECT COUNT(*) FROM (<子查询>) T 否则查询SQL为 SELECT COUNT(*) FROM <表名> 如果配置了where_condition则拼接到末尾 切分数据区间部分 详情见子流程 分页查询分片 查询下一个分片的结束边界nextChunkEnd 1.max查询部分 判断如果配置了where_condition则在limit那层查询添加条件拼接 2.min查询部分 判断如果配置了where_condition则添加条件拼接 样本查询分片 判断如果配置了where_condition则添加条件拼接 日期字段切分 复用了通用字段切分的1部分,只需修改一次即可。 分片使用流程 这里相关的流程不需要修改,这里分析是为了弄清楚分片是如何被使用的,以评估前面修改的必要性、正确性和风险。 数据被切分为分片后会被分发到Worker的SourceSeaTunnelTask中,最终在JdbcInputFormat类的open方法中被使用,主要流程如下 由上面流程可知,由分片生成的SQL在最后会判断拼接where_condition,如果在生成分片的阶段没有考虑where_condition,则生成的分片中可能有部分分片在追加上where_condition条件限制后查询不到数据,当这样的分片很多时,不但会影响分片切分的性能,也会影响数据读取的性能,因为过程中产生了大量的无效查询。 优化效果 优化之后本地测试从一个55G的MySQL表使用where_condition过滤读取多条数据的耗时从25分钟缩短到23秒。 提交的PR链接:https://github.com/apache/seatunnel/pull/8760 本文由 白鲸开源科技 提供发布支持!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册