概述数据交换的构建策略

简介: 【6月更文挑战第13天】数据交换中心旨在屏蔽底层工具复杂性,提供可视化配置给企业用户,解决数据孤岛问题,支持异构存储和数据类型的交换。

数据交换中心的首要目的是屏蔽底层工具的复杂性,以可视化配置的方式提供给企业用户;其次需要考虑,为了解决数据孤岛,需要满足异构存储、异构数据类型的交换需求;同时,还要考虑不同时效要求下的数据互通。因此,数据交换平台需要屏蔽系统底层协议、传输安全、特性组件等信息,让开发人员在数据接入过程中无须关注数据格式转换、数据路由、数据丢失等,只需要关注与业务本身的数据交换部分。企业信息化建设的多种数据源类型,可以通过同步模块的数据源进行统一管理,方便用户快速通过可视化页面执行数据汇聚工作。


在构建数据交换中心的实践过程中,基于异构数据源、异构厂商集群、数据应用时效性和相关技术栈等因素考虑,采取了不同的同步策略:离线数据同步和实时数据同步。同时,在两种同步服务的产品形态上,可以采用相同的可视化同步配置策略,以降低用户操作成本。

1、数据源管理

数据源管理主要是管理数据所用的存储,用于平台在做数据交换时,可以方便地对外部存储进行相应的管理。数据源可以是已有系统存储业务数据的地方,作为数据中台的数据来源,也可以是数据应用场景,为应用场景提供结果数据存储的地方。


根据业务系统以及数据应用场景的不同,数据源也有不同的选择。例如,广告场景对时效性要求很高,相应的,对数据源读性能的要求就会很高,有些场景对于大批量数据的多维分析有需求,因此数据源需要支持大批量数据的多维分析能力。针对这些场景,涉及的数据源会有很多种,大致可以分成:

  • 关系型数据库:如Oracle、MySQL、SQL Server、Greenplum等。
  • NoSQL存储:如HBase、Redis、Elasticsearch、Cassandra、MongoDB、Neo4J等。
  • 网络及MQ:如Kafka、HTTP等。
  • 文件系统:如HDFS、FTP、OSS、CSV、TXT、Excel等。
  • 大数据相关:如Hive、Impala、Kudu、MaxCompute、ADB、LibrA、ELK等。

2、离线数据交换

离线数据交换是针对数据时效要求低、吞吐量大的场景,解决大规模数据的批量迁移问题,其实现原理是将不同数据源的交换抽象为从源头数据源读取数据的读取插件,以及向目标端写入数据的写入插件,理论上可以支持任意类型数据源的数据交换工作。采用插件化方式构建,将数据源读取和写入抽象成读取插件、写入插件。


非结构化的数据也可以通过扩展插件方式进行交换,其场景主要是以文件或数据块的方式进行交换,因此只需要适配源或目的存储的相应插件及数据处理的机制,如文件传输,数据块保存为特定格式的文件,即可以满足相应的需求。

  • 读取插件:数据采集模块,负责采集数据源的数据,将数据发送给数据交换核心模块。
  • 写入插件:数据写入模块,不断从数据交换核心模块取数据,并将数据写入到目的端。
  • 数据交换核心模块:用于连接读取插件和写入插件,作为两者的数据传输通道,并处理缓冲、流控、并发、数据转换等核心技术问题。


离线数据同步技术具有以下亮点:

1)前置稽核

在源端数据同步开始前,可以进行数据质量规则校验,根据配置规则的阻塞、告警等策略控制数据同步是否运行。

2)数据转换

数据转换是指将各类非标准数据转换成标准数据格式,并且将转换后的数据推送到大数据平台指定的位置或库表。在数据同步、传输过程中,存在用户对于数据传输进行定制化的场景,包括字段截取、替换、编码转换等操作,可以借助ETL的T过程(Transform)实现。

在配置数据同步作业的字段映射关系时,可以对每个字段定义转换(Transform)函数,例如字符串截取dx_substr、字符串替换dx_replace、字符串过滤dx_filter,还支持用户用Groovy自定义转换逻辑。

3)跨集群数据同步

由于采用插件化的设计思路,数据同步模块可支持不同集群间的数据同步。例如,从A集群上把数据同步到B集群上,只需要开发A集群的Reader和B集群的Writer,便可以新建数据同步作业对数据进行跨集群迁移。

4)全量同步

全量数据同步分为表全量同步和库全量同步(整库同步)两种方式。表全量同步每次读取表中全量数据并写入;库全量同步策略是把库中所有表进行数据同步,要求源端和目的端的表名称、结构相同,允许目标表不存在,不存在时自动创建目标表。

5)增量同步

增量同步分为新增、覆盖和更新三种策略。新增策略主要通过在目的端创建新分区或者直接追加写数据实现。覆盖和更新策略在同步配置时选择唯一键,根据唯一键对比同步中的数据和目的端数据,结合增量策略来判断数据是覆盖还是更新。


3、实时数据交换

实时数据交换主要负责把数据库、日志、爬虫等数据实时接入Kafka、Hive、Oracle等存储中,便于后续进行实时计算或供业务查询分析使用。


实时同步有两个核心服务:数据订阅服务(Client Server)、数据消费服务(Consumer Server)。数据订阅服务主要包含数据的订阅和读取、任务实例的启停控制等功能,Client Server采用插件式设计思路,可以支持扩展不同类型的数据订阅读取。


数据消费服务主要包含任务状态控制、数据解析、数据过滤、数据转换、数据写入等功能,通过TCP通信方式和数据订阅方式进行数据读取和传输,经过任务配置的过滤、转换等功能写入到目的端数据源中。数据消费服务也采用插件式设计思路,可以支持目的端扩展不同类型的数据源写入。

相关文章
|
12月前
|
数据采集 监控 安全
数据标准应用(三):数据标准落标监控-下篇
数据标准创建完成后,需要指定其关联的资产对象才能发挥应用价值。数据标准和资产对象的映射关系通过落标映射规则来管理,对象是否遵循了映射到的标准定义则通过落标监控规则来判断。本文为您介绍落标监控评估的基本概念和监控逻辑。Dataphin 支持通过定义标准属性和资产对象元数据字段之间的匹配关系,自动生成数据标准和资产对象的映射关联;针对已确定的映射关系,可结合数据标准的定义对关联的资产对象进行落标监控,包括元数据监控和内容质量监控。上篇,我们为大家介绍了数据标准监控的分类和配置方式,本期我们将为您介绍配置好的落标监控如何生效以及如何查看监控结果。
445 0
|
11月前
|
编译器 C语言 C++
【C++】---基础特性
【C++】---基础特性
65 0
|
数据采集 存储 监控
数据标准应用(二):数据标准落标监控-上篇
数据标准创建完成后,需要指定其关联的资产对象才能发挥应用价值。数据标准和资产对象的映射关系通过落标映射规则来管理,对象是否遵循了映射到的标准定义则通过落标监控规则来判断。本文为您介绍落标监控评估的基本概念和监控逻辑。Dataphin 支持通过定义标准属性和资产对象元数据字段之间的匹配关系,自动生成数据标准和资产对象的映射关联了;针对已确定的映射关系,可结合数据标准的定义对关联的资产对象进行落标监控,包括元数据监控和内容质量监控。
1020 0
|
缓存 算法 前端开发
协同文档工作机制简介
随着在线办公的兴起,传统办公套件 Office 的在线化需求也随之增加。钉钉文档作为钉钉核心办公套件之一,上线已经三年,其间持续迭代,已成为一个极其复杂的产品。对前端工程师而言,协同文档是一个较为有挑战的领域,除了传统天坑富文本编辑器外,还引入了协同编辑这一挑战,钉钉文档甚至还支持专业排版能力。 来自钉钉的前端技术专家本杰,就在第十六届D2前端技术论坛进行了分享,本次分享以钉钉文档为例,简述协同文档的工作机制。
657 0
协同文档工作机制简介
|
数据管理
如何创建支持数据的组织
数据是数字化转型的中心,但智能化管理数据是成功的最大障碍。在数据管理中,这不仅仅是技术和规模的问题,更是组织和流程的问题。
如何创建支持数据的组织
|
弹性计算 容灾 网络架构
如何创建一个多活容灾的应用底层架构
如何创建一个多活容灾的应用底层架构
|
存储 机器学习/深度学习 缓存
二十七、网络层概述和数据交换方式
二十七、网络层概述和数据交换方式
二十七、网络层概述和数据交换方式
|
数据采集 缓存 运维
jpOwl一款高性能的后端业务监控,动态配置策略规则的工具包
jpOwl一款高性能的后端业务监控,动态配置策略规则的工具包
jpOwl一款高性能的后端业务监控,动态配置策略规则的工具包
|
存储 Kubernetes 固态存储
k8s存储机制概述
k8s存储机制概述
334 0
|
存储 Java 编译器