概述数据交换的构建策略

简介: 【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通信方式和数据订阅方式进行数据读取和传输,经过任务配置的过滤、转换等功能写入到目的端数据源中。数据消费服务也采用插件式设计思路,可以支持目的端扩展不同类型的数据源写入。

相关文章
|
数据采集 监控 安全
数据标准应用(三):数据标准落标监控-下篇
数据标准创建完成后,需要指定其关联的资产对象才能发挥应用价值。数据标准和资产对象的映射关系通过落标映射规则来管理,对象是否遵循了映射到的标准定义则通过落标监控规则来判断。本文为您介绍落标监控评估的基本概念和监控逻辑。Dataphin 支持通过定义标准属性和资产对象元数据字段之间的匹配关系,自动生成数据标准和资产对象的映射关联;针对已确定的映射关系,可结合数据标准的定义对关联的资产对象进行落标监控,包括元数据监控和内容质量监控。上篇,我们为大家介绍了数据标准监控的分类和配置方式,本期我们将为您介绍配置好的落标监控如何生效以及如何查看监控结果。
539 0
|
3月前
|
消息中间件 监控 网络协议
构建高效微服务通信:选择合适的通信方式
构建高效微服务通信:选择合适的通信方式
|
1月前
|
存储 缓存 测试技术
构建高效后端系统的关键策略##
【10月更文挑战第2天】 在当今数字化时代,后端系统的性能和可扩展性对于任何技术驱动的企业都至关重要。本文将深入探讨如何通过优化数据库设计、实施缓存机制、采用微服务架构以及自动化测试等措施,构建一个既高效又可靠的后端系统。我们将从基础的代码优化开始,逐步讨论到架构级别的改进,最终目标是提供一个全面的指导方案,帮助开发者和企业提升其后端系统的性能和可维护性。 ##
55 2
|
1月前
|
缓存 安全 API
构建高效后端API的五大策略
【9月更文挑战第32天】在数字化时代,后端API的设计和实现是软件开发的核心。本文将介绍如何通过五大策略——简化设计、保证性能、强化安全、优化文档和维护更新,来构建一个高效、稳定且易于维护的后端API。我们将深入探讨每个策略的实施步骤和注意事项,以及它们如何相互配合,共同提升API的整体质量。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的指导。
|
4月前
|
缓存 负载均衡 数据库
构建高性能后端系统的策略与实践
在数字化时代的浪潮中,后端系统作为支撑现代应用程序的核心,其性能的优劣直接影响用户体验和业务发展。本文将深入探讨如何构建一个既高效又可靠的后端系统,通过具体的策略和技术手段,指导读者理解并实施后端优化的最佳实践。我们将一起探索代码优化、数据库设计、缓存应用、异步处理以及负载均衡等关键领域,旨在帮助开发者打造能够应对高并发挑战的后端架构。 【7月更文挑战第27天】
68 5
|
3月前
|
数据采集 监控 大数据
DATEWORES: 构建高效数据管道的最佳实践
【8月更文第14天】随着大数据技术的发展,数据管道已经成为现代数据处理流程的核心部分。本文旨在探讨如何利用DATEWORES——一个假设性的数据管道构建框架——来设计和实现高效的数据管道。我们将介绍DATEWORES的基本概念、架构设计,并通过具体案例演示如何运用该框架进行数据的抽取、转换与加载(ETL)。此外,我们还将讨论如何保证数据质量及数据完整性。
99 0
|
6月前
|
存储 监控 负载均衡
开发指南002-前后端信息交互规范-概述
前后端之间采用restful接口,服务和服务之间使用feign
|
5G 网络性能优化 文件存储
带你读《5G 系统技术原理与实现》——1.2.3 5G 系统接口功能与协议
带你读《5G 系统技术原理与实现》——1.2.3 5G 系统接口功能与协议
带你读《5G 系统技术原理与实现》——1.2.3 5G 系统接口功能与协议
|
数据采集 存储 监控
数据标准应用(二):数据标准落标监控-上篇
数据标准创建完成后,需要指定其关联的资产对象才能发挥应用价值。数据标准和资产对象的映射关系通过落标映射规则来管理,对象是否遵循了映射到的标准定义则通过落标监控规则来判断。本文为您介绍落标监控评估的基本概念和监控逻辑。Dataphin 支持通过定义标准属性和资产对象元数据字段之间的匹配关系,自动生成数据标准和资产对象的映射关联了;针对已确定的映射关系,可结合数据标准的定义对关联的资产对象进行落标监控,包括元数据监控和内容质量监控。
1195 0