精华内容
下载资源
问答
  • 阿里云DataWorks数据集成(DataX)架构&实践分享 分享嘉宾:罗海伟阿里云 编辑整理:约理中国科学院大学 目录 阿里云DataWorks数据集成(DataX)架构&实践分享 ▌为什么需要数据集成 数据集成的应用...

    阿里云DataWorks数据集成(DataX)架构&实践分享

    分享嘉宾:罗海伟 阿里云

    编辑整理:约理 中国科学院大学

    目录

    ▌为什么需要数据集成

    数据集成的应用场景

    数据集成的角色和地位

    ▌阿里云数据集成大事记

    ▌阿里云数据集成产品定位和业务支撑情况

    阿里云数据集成产品定位

    阿里云数据集成业务支撑情况

    ▌阿里云数据集成DataX设计核心思路

    离线数据同步原理

    实时数据同步原理

    ▌阿里云数据集成DataX架构

    DataX架构模式

    Standalone模式

    Distribute模式

    On Hadoop模式

    实时同步CheckPoint机制

    ▌阿里云数据集成数据同步-核心亮点

    阿里云数据集成离线同步-核心亮点

    阿里云数据集成实时同步-核心亮点

    ▌阿里云数据集成解决方案系统

    离线数仓-整库迁移方案

    实时数仓-全增量解决方案

    ▌阿里云DataWorks和数据集成的关系

    ▌智能实时数仓解决方案示例


    导读: 阿里云DataWorks数据集成是DataX团队在阿里云上的商业化产品,致力于提供复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动能力,以及繁杂业务背景下的数据同步解决方案。目前已经支持云上近3000家客户,单日同步数据超过3万亿条。DataWorks数据集成目前支持离线50+种数据源,可以进行整库迁移、批量上云、增量同步、分库分表等各类同步解决方案。2020年更新实时同步能力,支持10+种数据源的读写任意组合。提供MySQL,Oracle等多种数据源到阿里云MaxCompute,Hologres等大数据引擎的一键全增量同步解决方案。今天跟大家交流内容是数据集成DataX的架构和在使用数据集成这款产品过程中遇到的一些问题和经验分享。

    今天的介绍会围绕下面几点展开:

    • 为什么需要数据集成
    • 阿里云数据集成大事记
    • 阿里云数据集成产品定位和业务支撑情况
    • 阿里云数据集成DataX设计核心思路
    • 阿里云数据集成DataX架构
    • 阿里云数据集成数据同步-核心亮点
    • 阿里云数据集成解决方案系统
    • 阿里云 DataWorks & 数据集成关系
    • 智能实时数仓解决方案示例

    ▌为什么需要数据集成

    数据集成的应用场景

    首先为什么需要数据集成,在大数据场景下,数据集成主要是解决哪些核心问题,我将其分为以下四个场景:

    第一个场景就是搬站上云。搬站上云主要用来对接业务数据库,完成初始化数仓,比如用户需要把自己的云下数据库快速安全地迁移到云上存储并做进一步的业务分析,如线下Mysql、Oracle到云上MaxCompute或者是Hadoop中Hive上,这既包含了一次性全量数据迁移,还包含持续增量数据迁移。

    第二个场景是构建实时数仓,做流式的数据汇聚。主要包含应用产生的日志数据,应用产生的消息数据,和应用对接数据库产生的日志数据(数据库的Binlog或者归档日志)。

    第三个场景是平台融合,完成云上各个产品之间的数据同步和交换。既包含跨云平台之间的数据同步,比如从AWS、GCP到阿里云;还包含云平台内部之间的数据交换,比如阿里云内部RDS、MaxCompute、OSS、PolarDB、AnalyticDB、Datahub等之间的数据同步。

    第四个场景是容灾备份。当数据分为冷热数据时,需要把冷数据放到归档数据中,极大节约成本。在数仓场景中,也可以把云上计算好的一些结果数据回流到数据库中,服务于在线数据应用。

    以上是数据集成主要支撑的四个典型的大数据场景。

    数据集成的角色和地位

    数据集成在整个大数据数仓建设中的角色和地位是什么?简单概括为6个模块,第一个是数据源,里面包含了各种关系型数据库、文件存储、大数据存储、消息队列等。这些异构的数据源可以通过统一的数据集成平台来将异构网络的异构数据源统一抽取到数据仓库平台,在数据仓库平台中完成数据汇聚,进行统一的数据分析。分析后的结果数据仍可以通过数据集成回流到在线数据库,为在线业务、在线应用提供数据查询。除此之外,还可以利用一个承上启下的产品-数据服务,对接数据应用,制作相关报表、大屏、应用等。

    综上所述,我们知道数据集成在整个数据仓库开发建设过程中起到了非常关键的作用,只有通过数据集成将异构数据源统一汇总到数据仓库中,才有后序的数据分析、数据服务、数据应用等。

    ▌阿里云数据集成大事记

    阿里云数据集成是为了解决数据仓库中这些经典问题而出现的。阿里云数据集成是一款有历史渊源的产品。2011年伴随着阿里巴巴数据平台事业部成立,当即推出了DataX的1.0和2.0版本,但当时大家对于这款产品还没有太多了解。在2014年数据集成能力登陆阿里云(公有云、专有云),开始正式对外提供服务,相应着DataX 3.0版本发布。并且于2016年,阿里巴巴将数据同步引擎DataX开源到社区,助力大数据ETL生态建设。2018年DataX有了一个比较大的架构升级,将公有云、专有云、阿里内部功能统一建立Data Integration服务,进一步优化了开发效率,节约了运维成本。2019年在公有云将数据集成能力商业化,2020年发布数据集成的实时同步能力,可以支持数据实时传输,并且提供了一些实时同步场景解决方案。

    总之,阿里云数据集成是大数据平台上下云的核心枢纽,可以将不同业务系统中数据相互打通,实现数据自由离线或实时的流动。其致力于提供复杂网络环境下,丰富的异构数据源之间高速稳定的数据移动能力,以及繁杂业务背景下,提供数据同步解决方案。

    ▌阿里云数据集成产品定位和业务支撑情况

    阿里云数据集成产品定位

    图中是阿里云数据集成产品的核心功能特性列表,大家在自己制作或选用数据集成产品的时候,可以着重了解这些点,做选型参考。

    首先是离线和实时全覆盖,这款产品既支持传统的离线同步,也支持及时高效的实时同步;第二点针对各种复杂网络均做了相应的解决方案和产品化能力,无论数据源在公网、IDC还是VPC等,数据集成都具备成熟的办法,可以提供连接到数据源的网络解决方案;第三点,因为DataX是一个云上产品,同时需要具备一些安全的管控策略,我们将开发和生产环境隔离,进行数据源权限安全控制,可分享独享资源组保障高可用;第四点,得益于这种可扩展性架构,DataX可以支持繁多的异构数据源,离线支持50+种数据源,实时支持10+种数据源读写任意组合,其中涵盖了关系型数据库、MPP、NoSQL、文件储存、消息流等各大种类;第五点,在大数据场景中往往存在特定场景的通用需求,比如整库迁移、批量上云、增量同步、分库分表、一键实时全增量,我们将这些通用需求抽象为数据集成的解决方案,进一步降低用户使用数据集成门槛;最后我们拥有一个非常完备的运维监控体系,能够进行流量控制、脏数据控制,能够对资源组进行监控,另外还可以设置任务告警,支持电话、短信、邮件、钉钉。

    阿里云数据集成业务支撑情况

    首先该产品现在拥有数千用户、数万名开发者,每天同步的数据量在PB级别,这些数据是由数千万个任务调度完成,而且该产品已经做到了全球地域部署覆盖,目前已经涵盖了政府、金融、保险、能源、电力、制造、互联网、零售等多个行业,几乎每一个行业都有典型的客户和场景。

    ▌阿里云数据集成DataX设计核心思路

    首先左侧图是传统的数据ETL工具制作的方法,是一种网状模型,每种储存之间如果交换数据,需分别设计一套数据传输软件。比如在Mysql和FTP之间交换数据,需要实现一个Mysql到FTP的数据同步工具,在Mysql和Hdfs之间交换数据,还要实现另一个同步工具,这种方法扩展性非常差。

    针对这种场景,DataX做了一个非常核心的抽象,就是右侧图中蓝色的线性模型,每一种数据源统一通过DataX框架做数据交换,当增加一种新的数据源类型,便天然的具备和DataX进行数据交换的能力。

    下面着重介绍一下具体的实现思路,首先每一种数据存储,比如Mysql,会有一个Mysql的Reader插件和一个Writer插件,Reader插件主要是用来读取Mysql中的数据,读取的模式可以是离线的同步,也可以是实时的Binlog同步,Writer插件主要是用来写入数据。DataX做了两个核心抽象,第一个是接口抽象,不论Reader还是Writer插件均有一套接口规范,只要符合接口规范,就可以纳入平台调度体系,被平台调度和使用。另外一个抽象是数据类型规范,每增加一种新的数据源,只要符合数据交换规范,就可以和平台中已经支持的其他数据源进行交换,以上就是DataX极具扩展性的原因。我们在2016年将数据同步核心同步引擎的一部分DataX开源到了社区,地址为:GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。。DataX是数据集成的一个核心同步引擎,是我们同步能力的一部分,今天除了要介绍一些开源的架构之外,还会介绍一些商业版,没有完全开源的部分功能的核心架构。

    离线数据同步原理

    首先是离线数据的同步原理,每一个数据同步作业都是DataX上的一个程序进程,DataX可以连接数据源头读取数据,读取到数据以后写入到目标端。数据源头的数据读取可以基于数据库的JDBC协议,这些在一些关系型数据库或者一些MPP数据库中已经非常常见了;如果源数据系统是Kafka,MQ消息队列等储存形式的话,可以使用数据源对应的SDK进行读写。一个任务在读取的过程中,会发生切片、并发、执行,Reader在读取数据以后会通过生产者消费者模型,将数据传递给Writer端,由Writer写入到目标储存里面。

    实时数据同步原理

    其次,介绍一下DataX实时数据同步原理。数据来源主要分为两类,关系型数据库和实时消息流。关系型数据库可以有对应日志,比如Mysql对应的Binlog日志,Oracle的归档日志,或者数据变更捕获cdc。这些日志会被日志抽取捕获到,捕获方式有API和SDK两种方式,然后框架会将捕获到的内容做消息分解处理,分解为insert、update、delete、alter等事件,然后并行地将其存放。我们支持关系型数据库、大数据、实时消息流等多种目标存储方式,如果数据源就是实时消息流的话,我们可以使用消息订阅模式订阅消息,并且将消息同样做分解,最终重放到目标端。其中第一类关系型数据库复杂度还是比较高的,因为包含了数据的增删改和DDL操作,实时消息流主要是一些追加数据。

    ▌阿里云数据集成DataX架构

    DataX架构模式

    • Standalone模式

    在了解基础原理之后,向大家介绍一下阿里云数据集成DataX的架构设计,其中最经典的是大家比较熟悉的Standalone模式,Github上开源的即为这种模式。Standalone模式将整个过程抽象为3个部分,第一部分是framework框架,框架主要用来提供一些核心的、共性的功能,比如数据的数率控制、脏数据、任务执行指标的收集、汇总和上报,除此之外,框架还具有一定的调度能力;第二部分是Reader插件部分,Reader插件主要是用来对接数据源头,将源头数据读入其中;第三部分是Writer写插件部分,每一个目标存储类型都对应一个Writer插件,可以将源头投递过来的数据,写入到不同的目标储存里面。上面就是一个非常简单的模型,我们将一个数据同步作业称之为一个job,为了最大化的提高任务执行速度和效率,我们会将一个job拆分成多个task任务,每一个task都是一个完整数据同步作业的一个工作子任务,用来完成对应工作期间数据传输和投递,task任务可以被我们调度框架进行调度执行。task是分组的,一个task group可以有多个task子任务,task group会在worker节点中执行和处理,worker也是单机版本的,这也是Github中开源的经典模式。

    • Distribute模式

    除了Standalone模式以外,我们在商业版本里面还有一些更强大的能力,首先是分布式模式,刚我们看到一个数据传输作业可以被分为多个task子任务,task又可以分组成task group,这些task会被并发执行。我们将前面讲的调度部分换成分布式调度模型,我们可以将不同的TaskGroup分发到不同的worker节点上面,就可以突破系统的单机瓶颈,在面对海量数据同步的时候,极大地提升数据传输效率。分布式执行集群也可以做到线性扩展,只要数据系统吞吐可以保障,数据同步作业可以随着worker节点的增加而线性增加,并且我们还做了一些异常节点的隔离等对应的一些分布式机制。

    • On Hadoop模式

    第三个模式是On Hadoop模式,也是商业化版本的一个能力。当用户已经拥有一个Hadoop执行集群,我们可以将DataX数据传输作业部署在已有的Hadoop集群里面,Hadoop中常见的编程模型是MapReduce,我们可以将DataX拆分的task寄宿在mapper节点和reducer节点中,通过Yarn进行统一调度和管理,通过这种方式我们可以复用已有的Hadoop计算和执行能力。这种模式和开源的Sqoop框架是有一点类似的。

    实时同步CheckPoint机制

    下面介绍阿里云数据集成DataX关于实时同步的checkpoint机制,checkpoint机制可以保证实时数据传输的稳定和断点续传的能力。如果你对Flink特别了解的话,这张图会非常熟悉。Flink是阿里团队开源出去的另外一个非常重要的实时计算引擎,DataX框架也借助了Flink的checkpoint机制,比如Flink会定期发送一些barrier事件和消息。我们的Reader Task其实是source,收到barrier以后,会产生snapShotState,并且barrier会传递到Transformer Task,Transformer Task可以用来做数据的转换,Transformer Task收到barrier以后,barrier进一步传递到Writer Task,这个时候的Writer Task其实就是sink,收到barrier之后,会再做一次snapShotState,Writer Task会将我们的数据flush到目标储存。接下来我们会trace跟踪barrier进度情况,并且根据barrier进度情况,把数据流消费的点位cache缓存下来,并且可以进行持久化存储。当任务出现异常或者进程退出的时候,我们可以继续从上一个cache点继续消费数据,可以保证数据不会被丢弃,但是可能会有短暂的数据重复,一般后序数据引擎可以处理这种情况。

    ▌阿里云数据集成数据同步-核心亮点

    • 阿里云数据集成离线同步-核心亮点

    概况一下阿里云数据集成离线同步的核心亮点。主要分为以下四个部分,第一部分是支持多种类的数据源,DataX支持50+常见数据源,涵盖各种关系型数据库、文件系统、大数据系统、消息系统;第二部分是解决方案,我们为一些数据传输经典问题准备了对应的解决方案,比如支持全量和增量的数据同步,支持整库、批量数据同步、支持分库分表,我们将这些琐碎的功能整合成了产品化的解决方案,直接通过界面操作即可完整复杂的数据传输过程;第三部分是精细化权限管控能力,可以对数据源权限进行安全控制,并且隔离开发和生产环境;第四部分DataX支持复杂调度,数据集成与dataWorks深度融合,利用dataWorks强大的调度能力调度我们的数据传输任务。

    • 阿里云数据集成实时同步-核心亮点

    再概况下阿里云数据集成实时同步的核心亮点。DataX是借助插件化机制,对新的数据源支持扩展能力强。DataX支持丰富多样的数据源,支持星型链路组合,任何一种输入源都可以和任何一种输出源搭配组成同步链路。 DataX支持断点续传,可以实时读取MySQL、Oracle、SQLSever、OceanBase、Kafka、LogHub、DataHub、PolarDB等,可以将数据实时写入到MaxCompute、Hologres、Datahub、Kafka、ElasticSearch等储存系统。另外DataX天然具有云原生基因,和阿里云产品融合度非常高。DataX可以轻松监控运维告警,提供运维大盘、监控报警、FailOver等运维能力,可以监控业务延迟、FailOver、脏数据、心跳检查、失败信息,并且支持邮件、电话、钉钉通知。DataX支持一站式解决方案,支持常见数据源整库全增量到MaxCompute、Hologres、ElasticSearch、DataHub等,同时支持分库分表,单表、整库多表、DDL消息。

    阿里云数据集成解决方案系统

    • 离线数仓-整库迁移方案

    下面将详细介绍一下阿里云数据集成解决方案,首先是离线数仓的整库迁移的解决方案,我们将数据集成中的一些典型场景,抽象为数据产品解决方案,可以帮助提升用户效率,降低用户使用成本。右侧图片可以展示出源头数据库中所有的表列表,直接选中需要的表,选择对应的同步方式,比如每日增量或者每日全量,选择分批上传或者整批上传的同步并发配置,就可以上传到MaxCompute中,这种可视化操作可以满足大多离线数据迁移场景。

    • 实时数仓-全增量解决方案

    下面是实时数仓的全增量解决方案,可以非常方便的将现有数据库通过简单的配置后,完成存量的全量迁移,以及后续增量的实时同步。支持在目标库中建表、自动建立离线同步任务、自动建立实时任务、自动启动离线任务、自动启动实时任务、自动建立和启动增量和全量的融合任务、全流程分布监控和展示,支持分步重试。通过这种方案,可以让用户不用原子化的关注每个全量任务和实时任务的配置细节。通过这一套解决方案,可以完成整个数据的全量、增量实时数据的加工。

    阿里云DataWorks和数据集成的关系

    前面介绍了阿里云数据集成开源和商业架构和能力,接下来重点介绍阿里云DataWorks和数据集成的关系。DataWorks是阿里云提供的一站式开发、数据治理的平台,融合了阿里云、阿里集团12年之久的数据中台、数据治理的实践经验。数据集成是阿里云DataWorks核心的一部分,DataWorks向下支持各种不同的计算和存储引擎,比如阿里大数据计算服务MaxCompute、开源大数据计算平台E-MapReduce、实时计算Realtime Compute、图计算引擎GraphCompute、交互式分析引擎MC-Hologres等,支持OSS、HDFS、DB等各种存储引擎。这些不同的计算存储引擎可以被阿里云DataWorks统一管理使用,后面可以基于这些引擎去做整个数据仓库。

    DataWorks内部划分为7个模块,最下面是数据集成,可以完成各种该模式的数据同步,数据集成之上,是元数据中心,提供统一的元数据服务,任务调度中心可以执行任务调度服务,数据开发方面,不同的存储引擎,比如实时计算和离线计算,其有着不同的开发模式,DataWorks支持离线开发和实时开发。同时DataWorks拥有一套综合数据治理的解决方案,会有一个数据服务模块,统一向上提供数据服务,对接各种数据应用。最后将DataWorks各种能力统一通过OpenAPI对外提供服务。

    数据集成模块是可以单独对用户提供服务,单独使用的,并不需要了解和掌握所有DataWorks模块就可以将数据同步作业配置运行起来。

    智能实时数仓解决方案示例

    下面介绍一套智能实时数仓解决方案,可以应用在电商、游戏、社交等大数据实时场景中。数据源有结构化数据和非结构化数据,非结构化数据可以通过DataHub数据总线做实时数据采集,之后由数据集成DataWorks完成,数据集成可以实时写到Hologres中做交互式分析,也可以将实时数据写入到MaxCompute中,进行归档和离线数据计算,另外Flink也可以消费订阅数据,做实时数据计算。Flink计算结果同时又可以写入Hologres中,也可以将实时计算结果做实时大屏和实时预警。Hologres数据可以进行OLAP分析。结构化数据可以通过实时数据抽取或者批量数据采集方式,统一采集到DataWorks,实时数据可以写入到Hologres或者定期归档到MaxCompute,离线数据可以通过批量数据加工到MaxCompute中来,另外MaxCompute和Hologres可以结合使用,进行实时联邦查询。

    上面这套解决方案可以将阿里云实时数仓全套链路与离线数据无缝衔接,满足一套存储、两种计算(实时计算和离线计算)的高性价比组合。

    展开全文
  • 数据清洗与数据集成

    2021-01-02 21:20:58
    数据清洗与数据集成(随笔) 文章目录数据清洗与数据集成(随笔)一、数据清洗数据清洗的意义数据清洗的目的数据异常的不同类型1.语法类异常2.语义类异常3.覆盖类异常数据质量的评价标准1.正确性2.唯一性数据清洗的...

    数据清洗与数据集成(随笔)

    一、数据清洗

    数据清洗是一种消除数据里面的错误,去掉重复数据的技术。 它可以集成在ETL过程中。在从数据源建立数据仓库的过程中发挥作用,也可以直接运行在某个数据库上,数据经过清洗以后最后还是保存到原来的数据库里。

    数据清洗的意义

    基于准确的数据(高质量)进行分析,才有可能获得可信的分析结果,基于这些分析结果才有可能做出正确的决策,否则,在不准确的数据(包含很多错误)上进行分析,有可能导致错误的认识和决策。

    Garbage in, then Garbage out

    在这里插入图片描述

    数据清洗的目的

    数据清洗的目的就是剔除数据中的异常。

    数据异常的不同类型

    数据异常大致有三类

    1. 语法类异常 :实体的具体的数据的格式的错误
    2. 语义类异常:数据不能全面无重复地表示客观世界的实体
    3. 覆盖类异常:数据库中的记录集合不能完整地表示客观世界中的所有实体,数据库中的实体数量客观世界中的实体数量要少
    1.语法类异常
    1. 词法错误
      1. 实际数据的结构和指定的结构不一致。
    2. 值域格式错误
      1. 实体的某个属性的取值不符合预期的值域中的某种格式。(值域是数据的所有可能取值构成的集合)
    3. 不规则的取值
      1. 对取值、单位和简称使用不统一、不规范。
    2.语义类异常
    1. 违反完整性约束规则
      1. 一个元组或者几个元组不符合完整性约束规则。(实体完整性、参照完整性、用户自定义完整性)
    2. 数据中出现矛盾
      1. 一个元组的各个属性取值或者不同元组的各个属性的取值,违反了这些取值的依赖关系
    3. 数据的重复值
      1. 两个或者两个以上的元组表示同一个实体
    4. 无效元组
      1. 某些元组并没有表示客观世界的有效实体
    3.覆盖类异常
    1. 值的缺失
      1. 在进行数据采集时就没有采集到相应的数据。
    2. 元组的缺失
      1. 客观世界中,存在某些实体,但是并没有在数据库中通过元组表示出来。

    数据质量的评价标准

    1.正确性

    正确性指的是数据集里面所有正确的取值相对于所有取值的比例

    1. 完整性

      1. 完备性

        数据集里表示为一个元组实体,相对于我们构建的现实世界的所有实体的集合中所占的比例

      2. 有效性

        数据集里表示为元组的实体,有多大比例是来自现实世界的

    2. 一致性

      1. 模式符合性

        符合数据模式的元组占所有元组的比例(不符合数据模式主要是指数据的取值不在值域范围之内)

      2. 统一性

        数据集里不包含不规则性的属性占所有属性的比例。(不规则的取值指的是取值、单位和简称的使用不统一)

    3. 密度

      指的是所有元组里,各个属性上的缺失值,占所有应该存在的所有属性上的取值的比例。

    2.唯一性

    代表相同实体的重复元组,占数据集里所有元组的比例。

    数据清洗的任务和过程

    数据清洗是剔除数据里的异常,使得数据集成为现实世界的准确、没有重复的表示的过程。

    数据清洗的操作
    1. 对元组及其各个属性值的格式进行调整,使之符合值域要求,使用统一的计量单位、统一的简称等
    2. 完整性约束条件的检查和实施
    3. 从已有的取值,导出缺失的值
    4. 解决元组内部和元组之间的矛盾冲突
    5. 消除、合并重复值
    6. 检测离群值,这些离群值极有可能是无效的数据
    数据清洗的过程
    1. 对数据进行审计,把数据异常的类型标识出来
    2. 选择合适的方法,用于检测和剔除这些异常(定义数据清洗的工作流)
    3. 执行这个工作流
    4. 后续处理和控制阶段将检查清洗结果,把在前面步骤中没有纠正过来的错误元组,进行进一步处理

    数据清洗的具体方法

    1. 数据解析

      目的是检测语法错误

    2. 数据转换

      目的是把数据从一个格式映射到另外一种格式,以适应应用程序的需要。

      在实例层面,对各个元组的各个字段的取值一般采用标准化和规范化方法,剔除数据的不规则性。

      在模式层面,模式可以理解为数据表的结构。

    3. 实施完整性的约束条件

      目的是保证对数据集进行修改,包括新增、删除、修改元组以后,数据集仍然满足一系列的完整性约束条件。

      两种完整性约束条件策略

      事前控制:完整性约束条件检查

      补救策略:完整性约束条件维护

    4. 重复数据消除

      重复数据消除也称为记录连接

      目的是把数据中的重复元组给剔除掉,与数据集成过程中的重复数据消除相似,只不过数据集成中的重复数据消除是处理来自多个数据源的数据

    5. 一些统计方法

      统计方法可以用于对数据进行审计,甚至可以对数据中的异常进行纠正。

    二、数据集成

    数据集成是从多个数据源建立统一的数据视图的一种技术

    数据集成是指把数据从多个数据源整合在一起,提供一个观察这些数据的统一视图的过程,通过数据集成,我们就可以对整合在一起的数据进行查询,获得对事物的更加完整的认识。

    数据集成分为物理式数据集成、虚拟式数据集成两类

    • 物理式数据集成,需要从各个数据源把数据拷贝到目标数据仓库
    • 虚拟式的数据集成,数据仍然保留在各个数据源中,通过某种机制,使得用户可以通过统一的视图,对数据进行查询

    数据集成需要解决的问题–异构性

    数据集成要解决的首要问题就是各个数据源之间的异构性,所谓异构性就是差异性

    1. 数据管理系统的异构性
    2. 通讯协议异构性
    3. 数据模式的异构性
    4. 数据类型的异构性
    5. 取值的异构性,不同的数据源,有些数据的逻辑取值,物理取值不一样
    6. 语义异构性,不同的数据源,某个数据项的取值不同,但是却是代表不同的含义

    数据集成的模式

    1. 联邦数据库
    2. 数据仓库
    3. 中介者
    联邦式数据库模式

    联邦数据库是最简单的数据集成模式,需要在每对数据源之间创建映射和转换的软件(包装器)

    优点:

    • 如果我们有很多的数据源,但是仅仅需要在少数几个数据源之间进行通讯和集成,联邦数据库是最合算的一种模式

    缺点:

    • 如果需要在很多数据源之间,进行通讯和数据交换的话,我们需要构建大量的Wapper

    在n个数据源的情况下最多需要建立n(n-1)/2个Wapper

    在这里插入图片描述

    数据仓库模式

    数据仓库是最通用的一种数据集成模式

    • 在数据仓库模式下,同样的数据被复制了两份,一份在数据源那里,一份在数据仓库这里。

    同步数据源和数据仓库的数据的两种方法

    1. 对数据仓库进行完全重建的办法

      当数据源发生改变,数据仓库的数据不是最新的,可以每隔一段时间,从各个数据源重新创建数据仓库。

      1. 优点:实现简单,只需要把ETL过程重新运行一遍即可。
      2. 缺点:每次的重建都特别耗时,代价很大
    2. 增量式更新的方法

      当数据源发生改变,定期根据数据源的更新,对数据仓库的数据进行适当的更新。

    总结:无论哪种方法都不能保证数据仓库里的数据是最新的

    ETL: 数据的抽取、转换和装载

    ETL过程在数据仓库之外完成数据仓库负责存储数据,以备查询。

    如果从多个异构的数据源ETL数据到数据仓库中,而且这些数据源存在各种异构性及不一致性,那么就需要对数据进行集成。

    如果仅仅从一个数据源ETL数据到数据仓库中,那么无须进行数据集成,这种情况下ETL和数据集成没有关系

    在进行ETL操作时,如果数据源的数据质量较差,在数据转化的时候,利用数据清洗技术,解决数据质量的问题,如果数据源的数据质量得到保证,则无须数据清洗。

    在这里插入图片描述

    中介者模式

    中介者本身不保存任何数据,数据仍然保存在数据源中。中介者维护一个虚拟的数据模式,它把各个数据源的数据模式组合起来。

    在这里插入图片描述

    中介者模式包括GAV和LAV两种类型

    • GAV,由Mediator 模式充当所有数据源数据模式的一个视图。Mediator通过一些规则,实现Mediator上的查询,到针对各个数据源的查询的转换。和单一数据库上的常规视图类似,我们只能通过视图,查找到各个数据源数据的一个子集

    • LAV,则首先有一个全局数据模式(Global Schema),然后基于该全局数据模式定义各个数据源的模式。每个数据源通过表达式(Expression),描述如何从全局模式,产生该数据源的模式。LAV能够超越各个数据源,涵盖更多的数据

    • 两者的比较

      GAV的主要优势是易于设计和实现,但是通过GAV只能看到全部数据的一个子集。LAV,比起GAV来,难于设计和实现,但是它具有更大的扩展性(Extensible),新的数据源可以很容易增加进来,只要从全局模式定义新数据源的模式即可

    实体解析

    来着不同数据源的数据,即便它们表示的是同样的对象(实体),但是具体的数据 有可能是不一样的。

    原因:

    1. 拼写错误
    2. 采用不同的数据值域
    3. 采用同义词
    4. 不同地区的书写习惯不一样

    实体解析是找出表示同样实体的记录,并且把这些记录连接在一起的过程。

    实体解析的方法:

    1. 编辑距离

    2. 对数据进行规范化处理和使用领域本体

    3. 对数据进行聚类和划分

      对从各个数据源获得的所有记录进行聚类分析,相似的记录归入同一类簇,对于隶属同一类簇的元组,我们可以进一步检验它们是否互相匹配,表示同一个实体。

    实体解析后的记录合并

    展开全文
  • 什么是大数据?免费指南和定义 知识中心» 数据整合» 什么是大数据?免费指南和定义…… ... 大数据和隐私:公司需要知道什么才能...大数据是指对于传统的数据处理和数据管理应用来说过于庞大和复杂的数据集。随...

    什么是大数据?免费指南和定义

    “大数据”一词在过去十年中开始出现在词典中,但这个概念本身至少从二战开始就已经存在。最近,无线连接、互联网 2.0 和其他技术使对海量数据集的管理和分析成为我们所有人的现实。 

    大数据是指对于传统的数据处理数据管理应用来说过于庞大和复杂的数据集。随着移动技术和物联网的出现,大数据变得越来越流行,因为人们使用他们的设备产生越来越多的数据。考虑由地理定位服务、网络浏览器历史记录、社交媒体活动甚至健身应用程序生成的数据。  

    该术语还可以指收集和分析大量数字信息以生成商业智能的过程。随着数据集的不断增长,应用程序产生更多的实时流数据,企业正在转向云来存储、管理和分析他们的大数据。 

    了解 Talend 如何帮助电子商务巨头 OTTO利用大数据与亚马逊竞争。 

    是什么让大数据如此重要?

    消费者生活在一个即时期望的数字世界中。从数字销售交易到营销反馈和改进,当今基于云的商业世界中的一切都在快速发展。所有这些快速交易都以同样的速度生成和编译数据。实时充分利用这些信息通常意味着利用信息获取目标受众的 360 度全景,或将客户流失给这样做的竞争对手之间的区别。

    管理和利用数据操作的可能性(和潜在的陷阱)是无穷无尽的。以下是大数据可以改变组织的一些最重要的方式:

    商业智能

    • 商业智能旨在描述大数据的摄取、分析和应用以造福组织, 是争夺现代市场的关键武器。通过绘制和预测活动和挑战点,商业智能让组织的大数据代表其产品发挥作用。

    创新

    • 通过分析行业和市场中发生的无数交互、模式和异常现象的潜望镜级别视图,大数据被用于将新的、有创意的产品和工具推向市场。 想象一下,“Acme Widget Company”查看其大数据图并发现,在温暖的天气中,Widget B 在中西部的销量几乎是 Widget A 的两倍,而在西海岸和南部的销量保持不变。Acme 可以开发一种营销工具,通过独特的广告来推动针对中西部市场的社交媒体活动,突出 Widget B 的受欢迎程度和即时可用性。通过这种方式,Acme 可以将其大数据用于新的或定制的产品和广告,从而最大限度地提高利润潜在的。

    降低拥有成本

    • 如果节省一分钱就是赚一分钱,那么大数据带来了赚大钱的潜力。IT 专业人员不是通过设备的价格标签来衡量运营,而是根据各种因素来衡量运营,包括年度合同、许可和人员开销。 从大数据运营中挖掘出的洞察力可以快速明确资源在哪些方面未得到充分利用以及哪些领域需要更多关注。这些信息一起使管理人员能够保持足够灵活的预算以在现代环境中运作。

    几乎每个行业的组织和品牌都在使用大数据开辟新天地。航运公司依靠它来计算运输时间和设定费率。大数据是开创性科学和医学研究的支柱,带来前所未有的分析和研究能力。它影响着我们每天的生活方式。

    大数据的五个V(+1)

    大数据通常由行业专家通过 5 V 进行限定,每一个都应该单独处理,并考虑它与其他部分的交互方式。

    - 为将要使用的数据量制定计划,以及如何以及在何处存储这些数据。

    多样性- 识别生态系统中所有不同的数据来源,并获得正确的工具来摄取它。

    速度- 同样,速度在现代商业中至关重要。研究和部署正确的技术,以确保尽可能接近实时地开发大数据图片。

    真实性- 垃圾进,垃圾出,所以要确保数据准确和干净。

    价值- 并非所有收集的环境信息都同等重要,因此构建一个大数据环境,以易于理解的方式呈现可操作的商业智能。

    我们想再添加一个:

    美德——大数据使用道德问题也需要根据数据隐私和合规的所有法规来解决。

    了解 Talend 如何帮助企业  降低集成大数据的成本 

    分析、数据仓库和数据湖 

    大数据实际上是关于新用例和新见解,而不是数据本身。大数据分析是检查非常大的细粒度数据集以发现隐藏模式、未知相关性、市场趋势、客户偏好和新业务洞察力的过程。人们现在可以提出传统数据仓库无法解决的问题,因为它只能存储聚合数据。

    Imagine for a minute looking at a painting of Mona Lisa and only seeing big pixels. This is the view you’re getting from customers in a data warehouse. In order to get the fine-grained view of your customers, you’d need to store fine, granular, nano-level data about these customers and use big data analytics like data mining or machine learning to see the fine-grained portrait.

    数据湖是一个中央存储库,它以原始的粒度格式保存来自许多来源的大数据。它可以存储结构化、半结构化或非结构化数据,这意味着数据可以以更灵活的格式保存以备将来使用。存储数据时,数据湖会将其与标识符和元数据标签相关联,以加快检索速度。数据科学家可以使用数据湖更快、更准确地访问、准备和分析数据。对于分析专家来说,这个庞大的数据池(以各种非传统格式提供)提供了独特的机会来访问各种用例的数据,例如情绪分析或欺诈检测。

    了解数据湖和数据仓库之间的差异。 

    了解为何 Talend 连续第六年在 2021 年数据集成工具魔力象限™ 中被评为领导者

    获取报告

    处理不常见数据的常用工具 

    掌握上述所有内容从基础开始。在大数据的情况下,通常涉及 Hadoop、MapReduce 和 Spark,Apache 软件项目的 3 种产品。

    Hadoop是一种开源软件解决方案,旨在处理大数据。Hadoop 中的工具有助于将处理海量数据集所需的处理负载分配到几个或几十万个独立的计算节点上。Hadoop 没有将 PB 的数据移动到一个微小的处理站点,而是相反,大大加快了信息集的处理速度。

    顾名思义,MapReduce有助于执行两个功能:编译和组织(映射)数据集,然后将它们细化为用于响应任务或查询的更小、有组织的集。

    Spark也是 Apache 基金会的一个开源项目,它是一个用于大规模处理和机器学习的超快速分布式框架。Spark 的处理引擎可以作为独立安装、云服务或任何流行的分布式计算系统(如 Kubernetes 或 Spark 的前身 Apache Hadoop)运行。

    来自 Apache 的这些和其他工具是在您的组织中充分利用大数据的最值得信赖的方法之一。

    大数据的下一步是什么

    随着云技术的爆炸式增长,处理不断增长的数据海洋的需求成为设计数字架构的底层考虑因素。在交易、库存甚至 IT 基础设施可以以纯虚拟状态存在的世界中,良好的大数据方法通过从许多来源摄取数据来创建整体概览,包括:

    • 虚拟网络日志
    • 安全事件和模式
    • 全球网络流量模式
    • 异常检测和解决
    • 合规信息
    • 客户行为和偏好跟踪
    • 地理位置数据
    • 用于品牌情感跟踪的社交渠道数据
    • 库存水平和发货跟踪
    • 影响您的组织的其他特定数据

    即使是对大数据趋势最保守的分析也表明现场物理基础设施的不断减少和对虚拟技术的依赖越来越大。随着这种演变,对工具和合作伙伴的依赖将越来越大,这些工具和合作伙伴可以处理机器被模拟它们的位和字节所取代的世界。

    大数据不仅仅是未来的重要组成部分,它可能就是未来本身。业务、组织和支持他们的 IT 专业人员完成其使命的方式将继续受到我们存储、移动和理解数据方式的演变的影响。

    大数据、云和无服务器计算 

    在引入云平台之前,所有的大数据处理和管理都是在本地完成的。Microsoft Azure、Amazon AWS和 Google BigQuery等基于云的平台的引入现在使远程完成数据管理流程成为可能(并且具有优势)。 

    无服务器架构上的云计算为企业和组织带来了一系列好处,包括: 

    • 效率- 存储层和计算层都是解耦的,只要您在存储层中保留数据量以及进行所需计算所需的时间,您就需要付费。
    • 缩短实施时间——与部署需要数小时到数天的托管集群不同,无服务器大数据应用程序只需几分钟。
    • 容错和可用性——默认情况下,由云服务提供商管理的无服务器架构提供基于服务级别协议 (SLA) 的容错和可用性。所以不需要管理员。
    • 轻松扩展和自动扩展——定义的自动扩展规则可以根据工作负载扩展和扩展应用程序。这有助于显着降低加工成本。

    选择大数据工具

    大数据集成工具有可能大大简化这个过程。您应该在大数据工具中寻找的功能是:

    • 许多连接器:世界上有许多系统和应用程序。您的大数据集成工具拥有的预建连接器越多,您的团队节省的时间就越多。
    • 开源:开源架构通常提供更大的灵活性,同时有助于避免供应商锁定;此外,大数据生态系统由您想要使用和采用的开源技术组成。
    • 可移植性:随着公司越来越多地转向混合云模型,重要的是能够一次构建大数据集成并在任何地方运行它们:本地、混合和云中。
    • 易用性:大数据集成工具应该易于学习和使用,并带有 GUI 界面,使大数据管道的可视化变得更简单。
    • 透明定价:您的大数据集成工具提供商不应该要求您增加连接器的数量或数据量。
    • 云兼容性:您的大数据集成工具应该可以在单云、多云或混合云环境中本地运行,能够在容器中运行并使用无服务器计算来最大限度地降低大数据处理的成本并支付您所需要的费用使用而不是闲置的服务器。
    • 综合数据质量和数据治理:大数据通常来自外部世界,相关数据必须在发布给业务用户之前进行策划和治理,否则可能成为公司的巨大负债。选择大数据工具或平台时,请确保其内置数据质量和数据治理。

    Talend 的大数据解决方案

    我们处理大数据的方法很简单:我们以业务发展的速度提供您可以信赖的数据。我们的目标是为您提供团队所需的所有工具,以从几乎任何来源捕获和集成数据,以便您可以获取其最大价值。 

    Talend for Big Data 可帮助数据工程师以比手动编码快 10 倍的速度完成集成工作,而成本却是后者的一小部分。那是因为平台是:

    • 原生:Talend 生成的原生代码可以直接在云中、无服务器方式或大数据平台上运行,无需在每个节点和集群上安装和维护专有软件。向额外的管理费用说“再见”。 
    • 开放:Talend 是开源和基于开放标准的,这意味着我们拥抱来自云和大数据生态系统的最新创新。 
    • 统一:Talend 为数据集成(包括数据质量、MDM、应用程序集成和数据目录)以及与互补技术的互操作性提供单一平台和集成产品组合。
    • 定价:Talend 平台通过订阅许可证提供,基于使用它的开发人员数量与连接器、CPU 或内核、集群或节点数量的数据量。用户定价更容易预测,并且不收取使用产品的“数据税”。

    大数据——保持竞争力的关键

    知识就是力量,大数据就是知识。很多 

    无论您是需要对业务运营、客户行为还是行业趋势进行更细致的洞察,Talend 都可以帮助您的团队使用大数据来保持领先于数据曲线。下载Talend Big Data Integration 免费试用版, 了解您的大数据可以带来的巨大变化。 

     

    什么是数据仓库,为什么它对您的业务很重要?

    数据仓库是用于帮助组织做出决策的大量业务数据集合。数据仓库的概念自 1980 年代就已存在,当时开发它的目的是帮助将数据从仅支持运营转变为支持揭示商业智能的决策支持系统。数据仓库中的大量数据来自不同的地方,如营销、销售、财务等内部应用;面向客户的应用程序;和外部合作伙伴系统等。

    在技​​术层面上,数据仓库会定期从这些应用程序和系统中提取数据;然后,数据经过格式化和导入过程以匹配仓库中已有的数据。数据仓库存储这些处理过的数据,以便决策者可以访问。数据拉取发生的频率或数据的格式等将根据组织的需求而有所不同。

    数据仓库的一些好处

    使用数据仓库来协助其分析和商业智能的组织看到了许多实质性的好处:

    • 更好的数据 ——将数据源添加到数据仓库使组织能够确保他们从该源收集一致且相关的数据。他们不需要怀疑数据在进入系统时是否可以访问或不一致。这确保了更高的 数据质量数据完整性,以做出合理的决策。
    • 更快的决策 ——仓库中的数据格式一致,可以随时进行分析。它还提供分析能力和更完整的数据集,以根据确凿的事实做出决策。因此,决策者不再需要对预感、不完整的数据或质量差的数据做出回应,也不再需要冒着交付缓慢和不准确结果的风险。

    数据仓库不是什么

    1. 它不是数据库

    很容易将数据仓库与数据库混淆 ,因为这两个概念有一些相似之处。但是,主要区别在企业需要对大型数据集合执行分析时生效。数据仓库用于处理此类任务,而数据库则不是。这是一张比较图,可以说明两者之间的区别:

    数据库数据仓库
    这是什么为多种交易目的收集的数据。针对读/写访问进行了优化。聚合交易数据,为分析目的进行转换和存储。针对大型数据集的聚合和检索进行了优化。
    如何使用建立数据库是为了快速记录和检索信息。数据仓库存储来自多个数据库的数据,这使得分析更容易。
    类型数据库用于数据仓库。但是,该术语通常指的是在线事务处理数据库。还有其他类型,包括用于数据库目的的 csv、html 和 Excel 电子表格。数据仓库是一种分析数据库,它位于事务数据库之上以进行分析。

    2. 它不是数据湖

    尽管它们都是为业务分析目的而构建的,但数据湖和数据仓库之间的主要区别在于,数据湖以原始格式存储来自所有数据源的所有类型的原始、结构化和非结构化数据,直到需要为止。相比之下,数据仓库以更有条理的方式将数据存储在文件或文件夹中,便于报告和数据分析。

    3. 它不是数据集市

    数据仓库有时也与数据集市混淆 。但是数据仓库通常更大,包含更多种类的数据,而数据集市的应用受到限制。

    数据集市通常是仓库的子集,旨在为特定应用程序轻松地将特定数据交付给特定用户。简单来说,可以将数据集市视为单一主题,而数据仓库涵盖多个主题。

    立即查看我们的数据仓库权威指南

    获取电子书

    数据仓库的未来:迁移到云

    随着企业迁移到云,他们的数据库和数据仓库工具也在迁移。云提供了许多优势:灵活性、协作性和可从任何地方访问,仅举几例。Amazon Redshift、 Microsoft Azure SQL 数据仓库、 Snowflake、 Google BigQuery等流行工具 都为企业提供了存储和分析其云数据的简单方法。

    云模型降低了进入门槛——尤其是成本、复杂性和漫长的价值实现时间——这些传统上限制了数据仓库技术的采用和成功使用。它允许组织根据需要扩大或缩小(打开或关闭)数据仓库容量。此外,开始使用云数据仓库既快速又容易。这样做既不需要大量的前期投资,也不需要耗时(而且成本也不低)的部署过程。

    数据仓库架构在很大程度上消除了本地数据仓库范式所特有的风险。您无需为硬件和软件进行预算和采购。您不必为年度维护和支持预留预算项目。在云中,传统上数据仓库团队关注的成本问题——计划内和计划外系统升级的预算——消失了。

    数据仓库示例

    Beachbody是一家领先的健身、营养和减肥计划供应商,需要更好地为客户提供针对性和个性化的产品,以便为客户带来更好的健康结果,并最终实现更好的业务绩效。

    该公司通过在 AWS 上添加一个基于 Hadoop 的云数据湖来改进其分析架构,该Talend Real-Time Big Data 提供支持。这种新架构使 Beachbody 能够将数据采集时间减少 5 倍,同时还提高了营销活动数据库的准确性。

    发现数据仓库的力量

    通过超越简单的数据库并进入数据仓库世界,组织可以从他们的分析工作中获得更多收益。找到合适的仓储解决方案来满足业务需求,可以在公司为客户提供服务和发展运营方面的效率方面产生巨大的影响。

     

    什么是数据湖?

    数字世界的规模每年都在翻倍,预计到 2020 年将达到 44 万亿 GB。高达 90% 的数据是非结构化或半结构化的,这带来了双重挑战:找到一种方法来存储所有这些数据并保持快速处理数据的能力。这就是数据湖的用武之地。

    什么是数据湖?

    数据湖是一个中央存储库,它以原始的粒度格式保存来自许多来源的大数据它可以存储结构化、半结构化或非结构化数据,这意味着数据可以以更灵活的格式保存以备将来使用。存储数据时,数据湖会将其与标识符和元数据标签相关联,以加快检索速度。

    Pentaho 的 CTO James Dixon 创造了术语“数据湖”,指的是数据湖中数据的临时性质,而不是存储在传统数据仓库系统中的干净和处理过的数据。

    数据湖通常配置在一组廉价且可扩展的商品硬件上。这允许将数据转储到湖中,以防以后需要它而不必担心存储容量。集群可以存在于本地或云中。

    数据湖很容易与数据仓库混淆,但它们具有一些明显的区别,可以为合适的组织带来巨大的好处——尤其是在大数据和大数据流程继续从本地迁移到云的情况下

    数据湖的好处

    数据湖的工作原理称为schema-on-read。这意味着在存储之前没有需要将数据拟合到其中的预定义模式。只有在处理过程中读取数据时,才会根据需要将其解析并调整为模式。此功能可节省大量通常用于定义架构的时间。这也使数据能够以任何格式按原样存储。

    数据科学家可以使用数据湖更快、更准确地访问、准备和分析数据。对于分析专家来说,这个庞大的数据池——以各种非传统格式提供——提供了访问数据的机会,用于各种用例,如情感分析或欺诈检测。

    数据湖与数据仓库

    数据湖和数据仓库的基本目的和目标相似,因此很容易混淆:

    • 两者都是整合组织中各种数据存储的存储库。
    • 两者的目标都是创建一个可以输入各种应用程序的一站式数据存储。

    但是,两者之间存在根本区别,使它们适用于不同的场景。

    • 读时模式与写时模式——数据仓库的模式在存储之前定义和结构化(在写入数据时应用模式)。相比之下,数据湖没有预定义的模式,这允许它以其原生格式存储数据。所以在数据仓库中,大部分数据准备通常发生在处理之前。在数据湖中,它发生在稍后实际使用数据时。
    • 复杂与简单的用户可访问性——由于数据在存储之前没有以简化的形式组织,数据湖通常需要一位对各种数据及其关系有透彻了解的专家来阅读它。 相比之下,技术和非技术用户都可以轻松访问数据仓库,因为它具有明确定义和文档化的架构。即使是团队中的新成员,也可以很快开始使用仓库。
    • 灵活性 vs 刚性——对于数据仓库,不仅最初定义模式需要时间,而且在未来需求发生变化时需要大量资源来修改它。但是,数据湖可以轻松适应变化。此外,随着对存储容量需求的增加,在数据湖集群上扩展服务器变得更加容易。

    有关这种区别的更多信息,并帮助确定哪个最适合您的组织,请参阅“数据湖与数据仓库”。→

    云数据湖还是本地?

    数据湖传统上在本地实施,存储在 HDFS 上,处理 (YARN) 在Hadoop 集群上。Hadoop 具有可扩展性、低成本,并以其数据本地性(数据和计算驻留在一起)的固有优势提供了良好的性能。

    但是,创建本地基础架构存在挑战:

    • 空间——庞大的服务器占用空间,转化为更高的成本。
    • 设置— 采购硬件和设置数据中心并不简单,可能需要数周或数月才能开始。
    • 可扩展性——如果需要扩展存储容量,由于空间需求的增加和高级执行官的成本批准,这需要时间和精力。
    • 估计需求——由于可扩展性在本地并不容易,因此在项目开始时正确估计硬件需求变得很重要。随着数据每天不系统地增长,这是一项艰巨的任务。
    • 成本— 事实证明,本地成本估算高于云替代方案。

    另一方面,云数据湖有助于克服这些挑战。云中的数据湖是:

    • 更容易、更快速地开始。云不是一种大爆炸的方法,而是允许用户逐步开始。
    • 使用即付即用模式,具有成本效益
    • 随着需求的增长更容易扩展,从而消除了估计需求和获得批准的压力。

    节省的房地产也增加了成本效益。

    了解 BeachBody 如何通过云数据湖提高其数据架构和劳动力的可扩展性:

    云数据湖挑战

    当然,使用云数据湖存在挑战。由于安全风险,一些组织不喜欢将机密和敏感信息存储在云中。尽管大多数基于云的数据湖供应商多年来都保证安全并增加了保护层,但数据窃取的不确定性仍然迫在眉睫。

    另一个实际挑战是一些组织已经建立了数据仓库系统来存储其结构化数据。他们可能会选择将所有数据迁移到云中,或者探索一种混合解决方案,该解决方案使用通用计算引擎访问来自仓库的结构化数据和来自云的非结构化数据。

    数据治理是另一个问题。数据湖不应成为难以涉足的数据沼泽Talend 的平台可确保数据湖保持清洁和可访问。

    了解今天的 Cloud Data Lakes 如何转变您的商业智能

    获取电子书

    数据湖架构:Hadoop、AWS 和 Azure

    重要的是要记住,数据湖有两个组成部分:存储和计算。存储和计算都可以位于本地或云中。这导致在设计数据湖架构多种可能的组合。

    组织可以选择完全留在本地,将整个架构迁移到云中,考虑多个云,甚至是这些选项的混合。

    这里没有单一的食谱。根据组织的需要,有几个不错的选择。

    Hadoop 上的数据湖

    许多人将Hadoop与数据湖联系起来。

    分布式服务器的Hadoop集群解决了大数据存储的问题。Hadoop 的核心是其存储层 HDFS(Hadoop 分布式文件系统),它跨多个服务器存储和复制数据。YARN(Yet Another Resource Negotiator)是决定如何在每个节点上调度资源的资源管理器。MapReduce 是 Hadoop 用于将数据拆分为更小的子集并在其服务器集群中处理它们的编程模型。

    除了这三个核心组件之外,Hadoop 生态系统还包括多个辅助工具,例如 Hive、Pig、Flume、Sqoop 和 Kafka,它们有助于数据的摄取、准备和提取。Hadoop 数据湖可以使用 Cloudera 和 HortonWorks 等企业平台在本地和云中设置。其他云数据湖(例如 Azure)围绕 Hadoop 架构包装功能。

    优势:

    • 技术人员更熟悉
    • 更便宜,因为它是开源的
    • 许多 ETL 工具可用于与 Hadoop 集成
    • 易于扩展
    • 数据局部性使计算速度更快

    AWS 上的数据湖

    AWS为其数据湖解决方案提供了一套详尽的产品。

    Amazon Simple Storage Service (Amazon S3) 是提供存储功能的解决方案的核心。Kinesis Streams、Kinesis Firehose、Snowball 和 Direct Connect 是数据摄取工具,允许用户将大量数据传输到 S3。还有一个数据库迁移服务,可帮助将现有的本地数据迁移到云端。

    除了 S3,还有 DynamoDB(一种低延迟的 No-SQL 数据库)和 Elastic Search(一种提供简化机制来查询数据湖的服务)。Cognito 用户池定义了用户身份验证和对数据湖的访问。安全令牌服务、密钥管理服务、CloudWatch 和 CloudTrail 等服务确保数据安全。对于处理和分析,有 RedShift、QuickSight、EMR 和机器学习等工具。

    AWS 提供的大量产品列表具有陡峭的初始学习曲线。然而,该解决方案的综合功能在商业智能应用程序中得到了广泛的使用。

    优势:

    • 详尽且功能丰富的产品套件
    • 根据独特要求灵活挑选产品
    • 低成本
    • 强大的安全性和合规性标准
    • 计算和存储分离以根据需要扩展每个
    • 与 Talend 等 APN(AWS 合作伙伴网络)公司合作确保无缝 AWS 入职

    Azure 上的数据湖

    Azure是 Microsoft 提供的数据湖。它有一个存储层和一个分析层;存储层称为 Azure Data Lake Store (ADLS),分析层由两个组件组成:Azure Data Lake Analytics 和 HDInsight。

    ADLS 建立在 HDFS 标准之上,具有无限的存储容量。它可以存储数万亿个文件,单个文件的大小超过 1 PB。ADLS 允许以任何格式存储数据,并且安全且可扩展。它支持任何使用 HDFS 标准的应用程序。这使得现有数据的迁移更加容易,并且还促进了与其他计算引擎的即插即用。

    HDInsight 是一种基于云的数据湖分析服务。它构建在 Hadoop YARN 之上,允许使用 Spark、Hive、Kafka 和 Storm 等工具访问数据。由于与 Azure Active Directory 集成,它支持企业级安全性。

    Azure Data Lake Analytics 也是一种分析服务,但其方法不同。它没有使用 Hive 等工具,而是使用一种称为 U-SQL(SQL 和 C# 的组合)的语言来访问数据。它非常适合大数据批处理,因为它以更低的成本提供更快的速度(只需为使用的作业付费)。

    优势:

    • 云中的存储和计算都使管理变得简单。
    • 强大的分析服务,强大的功能
    • 易于从现有 Hadoop 集群迁移
    • 许多大数据专家熟悉 Hadoop 及其工具,因此很容易找到熟练的人力资源。
    • 与 Active Directory 的集成确保无需单独努力来管理安全性

    其他数据湖资源

    有关数据湖如何工作或如何开始的更多详细信息,请查看以下资源:

    开始使用数据湖

    数据湖具有处理速度和多样性的能力,让商业智能用户感到兴奋。现在,有机会将处理过的数据与互联网上可用的主观数据结合起来。

    可以筛选 X 射线和 MRI 扫描等机器数据,以确定疾病的因果模式。在物联网应用中,可以以令人难以置信的速度处理大量传感器数据。零售业能够使用关于用户的大量数据来提供全渠道体验。

    数据湖不仅可用于高级预测分析应用程序,还可用于定期组织报告,尤其是在涉及不同数据格式时。

    这不再是是否需要数据湖的问题,而是使用哪种解决方案以及如何实施它的问题。查看我们的云数据仓库和云数据湖权威指南,了解如何最大化您的数据湖投资。 

    ETL 与 ELT:定义​​差异

    ETL 和 ELT 有很多共同点。就其核心而言,每种集成方法都可以将数据从源移动到数据仓库。该差值这两个谎言之间在数据转换以及如何将数据的多少,被保留在工作数据仓库。在本文中,我们将更详细地考虑 ETL 和 ELT,以帮助您确定哪种数据集成方法适合您的业务。 

    ETL - 提取、转换、加载

    提取/转换/加载 (ETL)是一种集成方法,它从远程源提取信息,将其转换为定义的格式和样式,然后将其加载到数据库、数据源或数据仓库中

    ELT - 提取、加载、转换

    提取/加载/转换 ( ELT ) 类似地从一个或多个远程源提取数据,然后将其加载到目标数据仓库中,而无需任何其他格式。ELT 过程中的数据转换发生在目标数据库中。ELT 对远程来源的要求较少,只需要原始和未准备好的数据。

    ELT 的演变

    ELT 已经存在了一段时间,但重新对Apache Hadoop等工具产生了兴趣 。 像转换 PB 级原始数据这样的大型任务被分成多个小作业,进行远程处理,然后返回加载到数据库中。

    处理能力的改进,尤其是虚拟集群,减少了拆分作业的需要。过去分布在云端、处理和返回的大数据任务现在可以在一个地方处理。

    每种方法都有其优点。在规划数据架构时,IT 决策者在选择 ETL 或 ELT 时必须考虑内部能力和云技术日益增长的影响。 

    ELT 的工作原理(以及何时使用)

    与 ETL 不同,提取/加载/转换是从无限数量的来源收集信息、将它们加载到处理位置并将它们转换为可操作的商业智能的过程。

    • 提取——第一步,提取,在两种数据管理方法中的工作方式相似。来自虚拟基础架构、软件和应用程序的原始数据流被完全或根据预定义的规则摄取。
    • 负载——这是 ELT 从它的 ETL 表兄弟分支出来的地方。ELT 不是交付大量原始数据并将其加载到临时处理服务器进行转换,而是将其全部交付到它最终将存在的站点。这缩短了提取和交付之间的周期,但意味着在数据变得有用之前还有很多工作要做。
    • 转换— 数据库或数据仓库对数据进行排序和规范化,将部分或全部数据保留在手边,并可用于自定义报告。存储这么多数据的开销更高,但它带来了更多的机会,可以几乎实时地为相关商业智能定制挖掘数据。

    ELT 什么时候是正确的选择?

    取决于公司现有的网络架构、预算以及它已经利用云和大数据技术的程度,并非总是如此。但是,当以下三个重点领域中的任何一个或所有领域都至关重要时,答案可能是肯定的。

    当摄取速度是第一要务时

    因为 ELT 不必等待数据在异地工作然后加载,(数据加载和转换可以并行发生)摄取过程要快得多,提供原始信息的速度比 ETL 快得多。

    当更多的英特尔更好的英特尔

    将数据转化为商业智能的优势在于能够将隐藏的模式转化为可操作的信息。通过保留所有历史数据,组织可以沿着时间线、销售模式、季节性趋势或任何对组织变得重要的新兴指标进行挖掘。由于数据在加载之前没有进行转换,因此您可以访问所有原始数据。通常,云数据湖有一个原始数据存储,然后是一个精炼(或转换)的数据存储。例如,数据科学家更喜欢访问原始数据,而业务用户更喜欢商业智能的规范化数据。>

    当你知道你需要扩展时

    当您使用 Hadoop 等高端数据处理引擎或云数据仓库时,ELT 可以利用原生处理能力实现更高的可扩展性。

    ETL 和 ELT 都是从原始数据生成商业智能的历史悠久的方法。但是,与几乎所有技术一样,云正在改变企业应对 ELT 挑战的方式。

    了解为何 Talend 连续第六年在 2021 年数据集成工具魔力象限™ 中被评为领导者

    获取报告

    在云中使用 ELT 的好处

    云带来了一系列功能,许多行业专业人士认为,这些功能最终将使内部部署数据中心成为过去。云通过提供以下功能克服了 ELT 的自然障碍:

    • 可扩展性— 较旧的现场数据中心中的 ELT 功能可能会迅速压倒本地处理和存储能力,在部署修复程序时需要昂贵的硬件升级和计划停机时间。虚拟、云基础设施和托管服务的可扩展性——如集成平台即服务 (iPaaS)和软件即服务 (SaaS)——使组织能够动态扩展资源。它们增加了甚至是海量数据转换任务所需的计算时间和存储空间。
    • (几乎)无缝集成——因为基于云的 ELT 直接与跨云平台的其他服务和设备交互,以前复杂的任务(如正在进行的数据映射)得到了极大的简化。曾经的巨大挑战可以呈现为简单的交互式图形界面,一目了然地提供所有关键信息。
    • 开源——最好的 ELT 解决方案利用活跃的开源云平台的力量,这些平台协同工作以推动整个企业的改进、安全性和合规性。开源 ELT 导致全球专业社区消除数据挑战,因为它们出现在您的网络中,甚至在它们出现之前。
    • 更低的拥有成本——当 ETL 成为标准时,扩展的功能意味着扩展的成本。加强处理和存储资源是一种单向支出,需要对硬件进行大量投资。这种方法的局限性在于,组织必须为他们需要的最大功率预先支付费用,但日常运营只使用了该能力的一小部分。

    与大多数云服务一样,基于云的 ELT 是即用即付的。这意味着当处理大量 ETL 作业时,计算和存储成本会更高,但当环境在最小压力下运行时会降至接近零。平均每年,这导致总拥有成本低得多——尤其是在没有前期投资的情况下。

    在这些和许多其他方面,云正在重新定义公司何时以及如何本地化商业智能产品。

    克服常见的 ELT 挑战

    为了正确完成工作,每个组织都依赖于正确的工具和专业知识。与任何任务一样,生产过程早期的错误会随着项目的发展而放大,并且有一些常见的陷阱会破坏任何 ELT 架构。

    • 安全漏洞— 移动 PB 级数据并使其可供所有应用程序和用户访问,会带来安全风险。安全设计方法集成了企业各个级别的安全性,确保损坏或受损的数据集不会感染数据仓库。
    • 合规自满— HIPAA、PCI 和GDPR等日益增长的合规框架给组织施加了越来越大的压力,要求他们执行强制性审计并证明符合标准。任何 ELT 方法的设计都必须考虑到合规性,以防止违反国家和国际法规。
    • 资源膨胀——为商业智能挖掘数据仓库的优势伴随着一个明显的缺点:所有这些数据都必须得到维护。云供应商和即用即付定价使得利用大数据比以往任何时候都更实惠,但如果没有管理和禁止工作信息集无休止增长的计划,即使分层存储定价也会变得昂贵。
    • 缺乏数据治理——正如通过 ELT 流程移动的数据的安全性至关重要一样,数据治理的五个 W 也是如此: -谁控制组织中的主数据管理?- 收集/保留哪些数据?- 什么时候进行概览和审计?- 数据存储在哪里?- 为什么 ELT 工作会对业务绩效产生积极影响?

    提前回答关键问题可以创建负责任的 ELT 实践,并使企业为丰富的信息收获做好准备,这些信息每天都会影响底线。

    与 ETL 和 ELT 的数据集成

    集成您的数据不一定很复杂或昂贵。Talend Cloud Integration Platform 简化了您的 ETL 或 ELT 流程,因此您的团队可以专注于其他优先事项。

    借助 900 多个组件,与单独手动编码相比,您几乎可以将数据从任何来源移动到您的数据仓库中。我们将帮助您减少支出、加快实现价值的时间并提供您可以信赖的数据。 

    下载Talend Cloud Integration免费试用版,看看 ETL 有多简单。 

    什么是数据集成?

    数据集成是将来自不同来源的数据组合成单一、统一视图的过程。集成从摄取过程开始,包括清理、ETL 映射和转换等步骤。数据集成最终使分析工具能够产生有效的、可操作的商业智能

    没有通用的数据集成方法。但是,数据集成解决方案通常涉及一些常见元素,包括数据源网络、主服务器和从主服务器访问数据的客户端。

    在典型的数据集成过程中,客户端向主服务器发送数据请求。然后主服务器从内部和外部来源获取所需的数据。数据是从源中提取的,然后合并为一个单一的、有凝聚力的数据集。这将返回给客户端以供使用。

    了解 Talend 如何帮助 Domino's Pizza整合来自 85,000 多个来源的数据。

    整合助力企业成功

    即使一家公司正在接收它需要的所有数据,这些数据通常也驻留在多个单独的数据源中。例如,对于典型的客户 360 度视图用例,必须合并的数据可能包括来自其 CRM 系统的数据、网络流量、营销运营软件、面向客户的应用程序、销售和客户成功系统,甚至合作伙伴数据,只是仅举几例。来自所有这些不同来源的信息通常需要汇集在一起​​以用于分析需求或操作行动,对于数据工程师或开发人员来说,将它们汇集在一起​​并非易事。

    让我们看一个典型的分析用例。如果没有统一的数据,单个报告通常涉及登录多个帐户、多个站点、访问本机应用程序中的数据、复制数据、重新格式化和清理,所有这些都在分析发生之前进行。

    尽可能高效地执行所有这些操作凸显了数据集成的重要性。它还展示了经过深思熟虑的数据集成方法的主要好处:

    改进系统的协作和统一

    每个部门的员工——有时甚至位于不同的物理位置——越来越需要访问公司的共享和个人项目数据。IT 需要一个安全的解决方案,通过跨所有业务线的自助访问来交付数据。

    此外,几乎每个部门的员工都在生成和改进其他业务所需的数据。数据集成需要协作和统一,以改善整个组织的协作和统一。

    节省时间并提高效率

    当一家公司采取措施正确集成其数据时,它会大大减少准备和分析该数据所需的时间。统一视图的自动化消除了手动收集数据的需要,员工在需要运行报告或构建应用程序时不再需要从头开始构建连接。

    此外,使用正确的工具, 而不是手动编码 集成,可以为开发团队返回更多时间(和整体资源)。

    在这些任务上节省的所有时间都可以用于其他更好的用途,将更多的时间用于分析和执行,从而使组织更具生产力和竞争力。

    减少错误(和返工)

    当涉及到公司的数据资源时,有很多事情需要跟上。要手动收集数据,员工必须知道他们可能需要探索的每个位置和帐户——并在开始之前安装所有必要的软件——以确保他们的数据集完整和准确。如果添加了数据存储库,而该员工不知道,他们将拥有不完整的数据集。

    此外,如果没有同步数据的数据集成解决方案,则必须定期重做报告以说明任何更改。但是,通过自动更新,可以在需要时轻松实时地运行报告。

    提供更有价值的数据

    随着时间的推移,数据集成工作实际上会提高企业数据的价值。随着数据被整合到一个集中的系统中,质量问题得到识别并实施必要的改进,最终产生更准确的数据——质量分析的基础。

    现代商业中的数据集成

    数据集成不是一刀切的解决方案;正确的公式可以根据众多业务需求而有所不同。以下是数据集成工具的一些常见用例:

    利用大数据

    数据湖可能非常复杂且数量庞大。例如,Facebook 和谷歌等公司处理来自数十亿用户的不间断涌入的数据。这种信息消费水平通常被称为大数据。随着越来越多的大数据企业出现,更多的数据可供企业利用。这意味着对复杂数据集成工作的需求成为许多组织运营的核心。

    创建数据仓库和数据湖

    数据集成计划——尤其是在大型企业中——通常用于创建数据仓库,将多个数据源组合到一个关系数据库中。数据仓库允许用户以一致的格式运行查询、编译报告、生成分析和检索数据。例如,许多公司依靠Microsoft AzureAWS Redshift等数据仓库从他们的数据中生成商业智能。 

    了解有关数据湖和数据仓库之间差异的更多信息 

    简化商业智能 (BI)

    通过提供来自众多来源的统一数据视图,数据集成简化了商业智能(BI) 分析流程。组织可以轻松查看并快速理解可用数据集,以便获取有关当前业务状态的可操作信息。通过数据集成,分析师可以编译更多信息以进行更准确的评估,而不会被大量信息淹没。

    与业务分析不同,BI 不使用预测分析来进行未来预测;相反,它侧重于描述现在和过去以帮助战略决策。数据集成的这种使用非常适合数据仓库,其中易于使用的格式的高级概述信息很好地对齐。

    了解为何 Talend 连续第六年在 2021 年数据集成工具魔力象限™ 中被评为领导者

    获取报告

    ETL和数据集成

    提取、转换、加载,通常称为 ETL,是数据集成中的一个过程,其中数据从源系统中提取并交付到仓库中。这是数据仓库将多个数据源转换为用于商业智能和分析工作的有用、一致的信息的持续过程。

    数据集成的挑战

    获取多个数据源并将它们变成单一结构内的统一整体本身就是一项技术挑战。随着越来越多的企业构建数据集成解决方案,他们的任务是创建预先构建的流程,以将数据持续移动到需要去的地方。虽然这可以在短期内节省时间和成本,但实施可能会受到许多障碍的阻碍。

    以下是组织在构建集成系统时面临的一些常见挑战:

    • 如何到达终点 ——公司通常知道他们想要从数据集成中得到什么——特定挑战的解决方案。他们通常没有想到的是到达那里所需的路线。任何实施数据集成的人都必须了解需要收集和分析哪些类型的数据、这些数据来自何处、将使用这些数据的系统、将进行哪些类型的分析以及需要多久更新一次数据和报告.
    • 来自遗留系统的数据 ——集成工作可能需要包括存储在遗留系统中的数据。然而,这些数据通常缺少活动的时间和日期等标记,而更现代的系统通常包含这些标记。
    • 来自新业务需求的数据——当今的新系统正在从各种来源(如视频、物联网设备、传感器和云)生成不同类型的数据(如非结构化或实时)。弄清楚如何快速调整您的数据集成基础架构以满足集成所有这些数据的需求对于您的业务取胜至关重要,但由于数据的数量、速度和新格式都带来了新的挑战,因此难度极大。
    • 外部数据 ——从外部来源获取的数据可能无法以与内部来源相同的详细程度提供,因此很难以同样的严格程度进行检查。此外,与外部供应商签订的合同可能难以在整个组织中共享数据。
    • 跟上 ——一旦集成系统启动并运行,任务还没有完成。数据团队有责任使数据集成工作与最佳实践以及组织和监管机构的最新需求保持一致。

    业务整合策略

    有多种方法可以集成数据,具体取决于业务规模、满足的需求和可用资源。

    • 手动数据集成 简单来说就是单个用户通过直接访问接口从各种来源手动收集必要的数据,然后根据需要进行清理,并将其合并到一个仓库中的过程。这是非常低效和不一致的,除了数据资源最少的最小组织之外,对所有组织都没有意义。
    • 中间件数据集成 是一种集成方法,其中中间件应用程序充当中介,帮助规范化数据并将其带入主数据池。(想想带有过时连接点的旧电子设备的适配器)。遗留应用程序通常不能很好地与其他应用程序兼容。当数据集成系统无法单独从这些应用程序之一访问数据时,中间件就会发挥作用。
    • 基于应用程序的集成 是一种集成方法,其中软件应用程序定位、检索和集成数据。在集成过程中,软件必须使来自不同系统的数据相互兼容,以便它们可以从一个源传输到另一个源。
    • 统一访问集成 是一种数据集成,它侧重于创建一个前端,使从不同来源访问的数据看起来一致。但是,数据保留在原始来源中。使用这种方法,可以使用面向对象的数据库管理系统在不同的数据库之间创建统一的外观。
    • 通用存储集成 是数据集成中最常用的存储方法。来自原始来源的数据副本保存在集成系统中并进行处理以实现统一视图。这与将数据留在源中的统一访问相反。通用存储方法是传统数据仓库解决方案背后的基本原理。

    数据集成工具

    数据集成工具有可能大大简化这个过程。您应该在数据集成工具中寻找的功能是:

    • 很多连接器。 世界上有许多系统和应用程序;您的数据集成工具拥有的预建连接器越多,您的团队节省的时间就越多。
    • 开源。 开源架构通常提供更大的灵活性,同时有助于避免供应商锁定。
    • 可移植性。 随着公司越来越多地转向混合云模型,重要的是能够一次构建数据集成并在任何地方运行它们。
    • 便于使用。数据集成工具应该易于学习和使用,并带有 GUI 界面,以简化数据管道的可视化。
    • 透明的价格模型。 您的数据集成工具提供商不应该要求您增加连接器或数据量的数量。
    • 云兼容性。您的数据集成工具应该在单云、多云或混合云环境中本地工作。

    实现全部数据潜力的关键

    在数据集成方面,商业智能、分析和竞争优势都处于危险之中。这就是为什么您的公司能够完全访问来自每个来源的每个数据集至关重要的原因。Talend Cloud Integration Platform 可帮助企业整合几乎来自任何来源的数据,并准备好使用任何数据仓库进行分析。

    下载免费试用版 ,看看您的数据真正能做什么。

     

    展开全文
  • 到底什么叫作数据集成

    千次阅读 2021-03-27 00:25:35
    作者丨石秀峰全文共2956个字,建议阅读需12分钟笔者08年就开始参与企业应用集成项目建设,经历了点对点数据集成、总线式数据集成、离线批量数据集成,流式数据集成数据集成方式。所以,没有...

    作者丨石秀峰

    全文共2956个字,建议阅读需12分钟

    笔者08年就开始参与企业应用集成项目建设,经历了点对点数据集成、总线式数据集成、离线批量数据集成,流式数据集成等数据集成方式。所以,没有人比我更了解数据集成。

    数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。

    数据集成的核心任务是要将互相关联的异构数据源集成到一起,使用户能够以透明的方式访问这些数据资源。

    数据集成的目的是指维护数据源整体上的数据一致性,解决企业“信息孤岛”的问题,提高信息共享和利用的效率。

    01  

    点对点数据集成

    点多点集成是最早出现的应用集成模式,采用点对点的方式开发接口程序,把需要进行信息交换的系统一对一地集成起来,从而实现整合应用的目标。

    点对点的连接方式在连接对象比较少的时候,确实是一种简单和高效的连接方式,具有开发周期短、技术难度低的优势。但其最大的问题是,当连接对象多的时候,连接路径会以指数方式剧增,效率和维护成本是最大的问题。

    当需要连接的应用系统越来越多时,点对点集成方式将把整个企业信息系统接口变成无法管理的“混乱的线团”。

    点对点的集成架构不能集中管理和监控接口服务,仅支持一对一的数据交换,如果交换协议不一致,开发则非常困难。即,如果沟通的语言、文字、格式、方法等有差异,则每一个连接方都要同时支持和维护多种连接方式。

    点对点的集成是紧耦合的,当一个连接变化时,所有与其相关的接口程序都需要重新开发或调试。

    基于以上几点,在多点互连的情况下,点对点连接方式成本高,可用性和可维护性低。

    显然,这不是一个好的连接方式。

    02 

    总线式数据集成

    总线式数据集成是通过在中间件上定义和执行集成规则,其拓扑结构不再是点对点集成形成的无规则网状,而主要是中心辐射型的(Hub型)星型结构或总线结构。

    总线结构通过与点对点集成架构相比,采用总线架构可以显著减少编写的专用集成代码量,提升了集成接口的可管理性。不同连接对象如果连接方式有差异,可以通过总线完全屏蔽掉,做到对连接对象透明,无需各个连接对象关心。通过总线结构,把原来复杂的网状结构变成简单的星形结构,极大提高了硬件的可靠性和可用性。

    总线式数据集成的一代:电子数据交换系统(EDI)

    EDI不是用户之间简单的数据交换,EDI用户需要按照国际通用的消息格式发送信息,接收方也需要按国际统一规定的语法规则,对消息进行处理,并引起其他相关系统的EDI综合处理。标准化得EDI格式转换保证了不同国家、不同地区、不同企业的各种商业文件(如单证、回执、载货清单、验收通知、出口许可证、原产地证等)得以无障碍电子化交换,促进了国际贸易的发展。

    总线式数据集成二代:企业服务总线(ESB)

    ESB的使用标志着企业的应用集成进入了SOA时代(SOA是一种面向服务的集成架构)。SOA架构的其主要特征是基于一系列Web标准或规范来开发接口程序,包括UDDI、SOAP、WSDL、XML,并采用支持这些规范的中间件产品作为集成平台,从而实现了一种开放而富有弹性的应用集成方式。

    ESB是对web服务(WebService)的注册、编排和管理。

    WebService是一种跨编程语言、跨操作系统平台的远程调用技术,是web的一种标准。可以理解为:WebService是一个应用程序向外界暴露了一个能通过Web调用的API接口,我们把调用这个WebService的应用程序称作客户端,把提供这个WebService的应用程序称作服务端。客户端进行服务的远程调用前,需要知道服务的地址与服务有什么方法可以调用。

    因此,WebService服务端通过一个文件(WSDL)来说明自己家里有啥服务可以对外调用,服务是什么,服务中有哪些方法,方法输入的参数是什么,返回值是什么,服务的网络地址是什么,通过什么方式来调用等。

    WSDL是一个基于XML的语言,用于描述WebService及其函数、参数和返回值,它是WebService客户端和服务器端都能理解的标准格式。

    03

    离线批量数据集成

    在传统数据集成的语境下,离线批量数据集成,通常是指基于ETL工具的离线数据集成,ETL即数据的提取(Extract)、转换(Transform)和加载(Load)。

    ETL是数据仓库的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。

    在数据仓库、数据湖、数据资产管理等项目中,ETL都是最核心的内容。ETL通过ETL作业流(任务)从一个或多个数据源中抽取数据,然后将其复制到数据仓库。抽取类型有全量抽取、增量抽取、准实时抽取、文件提取等方式。针对不同的数据提取场景设计不同的数据抽取类型。在数据抽取过程中,需要将不符合规则的数据过滤掉,并按照一定的业务规则或数据颗粒度转换成数据仓库可用的数据,这个过程就是数据的清洗和转换。最后,就是调用数据库的服务将数据装载至数据库中。

    ETL的实现有多种方法,常用的有三种:

    第一种是借助ETL工具:例如:Informatic、IBM CDC、talend、kettle、Nifi等,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。

    第二种是SQL编码实现:SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。

    第三种是ETL工具和SQL组合实现:综合了前面二种的优点,会极大地提高ETL的开发速度和效率。

    04

    流式数据集成

    流式数据集成也叫流式数据实时数据处理,通常是采用Flume、Kafka等流式数据处理工具对NoSQL数据库进行实时监控和复制,然后根据业务场景做对应的处理(例如去重、去噪、中间计算等),之后再写入到对应的数据存储中。

    这个过程类似传统的ETL,但它是流式的处理方式,而非定时的批处理Job,NoSQL数据库采集工具均采用分布式架构,能满足每秒数百MB的日志数据采集和传输需求。

    Kafka 就是一个能够处理实时的流式数据的一个新型ETL解决方案。

    Kafka 能够通过 Kafka Connect API 实现流数据管道的构建,也就是 ETL 中的 E和L。Connect API 利用了 Kafka 的可扩展性,kafka connect是围绕kafka构建的一个可伸缩,可靠的数据流通道,通过kafka connect可以快速实现大量数据进出kafka从而和其他源数据源或者目标数据源进行交互构造一个低延迟的数据通道。

    流处理和转换可以通过 Kafka Streams API 来实现,也就是构建了ETL中的T,Kafka Streams用于在Kafka上构建高可分布式、拓展性,容错的应用程序。它建立在流处理的一系列重要功能基础之上,比如正确区分事件事件和处理时间,处理迟到数据以及高效的应用程序状态管理。

    Kafka Streams包含了ConsumerAPI 和ProducerAPI的功能,增强了对数据流的处理能力。使用 Kafka 作为流处理平台能够消除为每个目标 sink、数据存储或系统创建定制化(很可能是重复的)抽取、转换和加载组件的需求。来自数据源的数据经过抽取后可以作为结构化的事件放到平台中,然后可以通过流处理进行数据的转换。

    05

    网络数据集成

    网络数据集成也叫网络数据采集,指通过网络爬虫或网站公开 API 等方式从网站上获取数据信息的过程。

    网页爬虫,即一种按照一定的规则,自动地抓取互联网信息的程序或者脚本,一般分为通用网络爬虫和聚焦网络爬虫两种。网页爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

    聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。

    网页爬虫支持文本文件、图片、音频、视频等非结构化数据、半结构化数据从网页中提取出来,存储在本地的存储系统中。

    目前网络上有许多网页爬虫,Octoparse、WebCopy、HTTrack、Getleft、Scraper等,并且这些工具都是免费的哦!

    当然,你是一个技术大大的话,也可以写自己的爬虫程序。

    数据湖,比“数据中台”更需要重视的概念|腾研识者

    Flink + Iceberg 全场景实时数仓的建设实践

    如何理解《2020年大数据白皮书》的大数据技术最新发展趋势?  原创

    基于 Flink SQL 构建流批一体的 ETL 数据集成

    万字长文解读最新最全的大数据技术体系图谱!

    如何更深刻的理解 “Gartner2020年数据与分析技术十大趋势”的内涵?

    点击左下角“阅读原文”查看更多精彩文章,公众号推送规则变了,如果您想及时收到推送,麻烦右下角点个在看或者把本号置顶

      

    ????分享、点赞、在看,给个3连击吧!????

    展开全文
  • 文章目录前言数据清洗数据集成数据转换数据消减 前言 近年来,信息技术迅猛发展,尤其是以互联网、物联网、信息获取、社交网络等为代表的技术日新月异,促使手机、平板电脑、pc 等各式各样的信息传感器随处可见,...
  • 1、医院数据集成平台建设的背景 国内大多数三级医院信息化起步于上世纪90年代初,至今发展有将近30年历史,主要分为四个阶段: 第一阶段,财务电子化模式:上世纪90年代中期,北上广的三甲医院已开始引入基于NOVEL...
  • 数据抽取是数据集成平台中一个非常重要的功能,主要负责不同数据源和不同数据库的数据同步
  • DataWorks数据集成提供了 “MySQL一键实时同步至Elasticsearch” 的解决方案,可以将MySQL中的数据库,通过一次性的简单配置,全增量一体化同步到Elasticsearch,达到数据实时落入ElasticSearch,实时可以用于分析的...
  • RestCloud数据集成平台提供多数据源的统一在线管理能力,可以集中管理企业所有数据链接信息,可以同时链接多个环境多个版本的数据源,支持SQL、NOSQL、MQ等数据源的链接和连通性测试。 为什么选择RestCloud数据集成...
  • 数仓建模—数据集成

    千次阅读 2021-09-04 10:15:20
    数据集成 其实数据集成是数仓的一个基本特点,这里我们再回顾一下数仓的特性,或者说是我们再回顾一下数仓的定义,面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化...
  • ETL工具是什么呢?ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取、转换、加载至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数...
  • 数据集成是实施海波龙系统非常重要的部分,Oracle提供了多种集成工具: Oracle Data Integrator (ODI) Enterprise Resource Planning Integrator - (ERPi) Financial Data Management (FDM) Essbase Studio Data ...
  • springboot 整合 apache camel实现企业级数据集成和处理

    多人点赞 热门讨论 2021-06-29 19:47:20
    Apache Camel是一个集成框架,它具有用于集成各种应用程序的编程模型。 对于需要在不同的微服务和其他上下游系统(如数据库和...路由:将数据有效负载(也称为“消息”)从源系统发送到目标系统 中介:消息处理,如基于一个
  • 基于kettle的数据集成平台(三)

    千次阅读 2021-04-06 16:37:48
    通过上传文档和下载文档的方式,来对各种异构文档进行数据格式的统一。本篇文章进行介绍kettle平台的其他高级功能,即:mqtt与websocket的相互转换。 场景描述: 需求:物联网平台的数据处理。 大家知道,物联网...
  • 数据采集工具Kettle 的详细介绍
  • 数据采集工具Flume 的详细介绍与使用 ...
  • DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、...
  • 日志库(调试) 开发阶段进行调试SDK及相关功能使用,可在发布 App 前移除 手动添加可查看友盟文档 pod 'UMCCommonLog' ...新版集成测试需要配置App的URL Scheme,URL Scheme 位于项目设置 target -> 选
  • MES系统与PLC数据集成主要方式

    千次阅读 2020-12-24 15:42:28
    现在工业化在迅速的发展,当然在发展过程中是离不开系统和软件的辅助,其中MES系统,ERP软件,PLC数据集成对企业有重要作用。那么MES系统与PLC数据集成主要方式有哪些?方式1:定期抓取数据因为现在生产设备参数都是...
  • 对医院而言,目前比较常见的平台包括集成平台、大数据平台和数据治理平台三类。通常,这三类平台不是完全独立的A、B、C关系,而是互有交集、彼此协同。在本篇文章里,我们将重点介绍三大平台的起源、定位,以及各自...
  • 1、系统集成平台主要是为医院内部各个应用提供统一的医疗数据访问服务,提供数据共享和数据集成服务,确保临床等信息系统进行工作流整合并实现交互协作。平台本身不会存储大量的数据,只是做负责数据的解释和交换。...
  • 数据采集工具FlinkX 的详细介绍与使用
  • 数据采集工具DataX 的详细介绍 ...
  • 云计算期末速成大法

    千次阅读 2021-05-24 10:35:00
    笔记仅自用,杠勿cue我 1. 绪论 4V特征:Volume(规模大),...数据获取,数据集成,数据预处理 多源数据采集:有价值的数据最大化,无价值的数据最小化,和现实对象的偏差最小化,也需要做到:可靠性,时效.
  • chp2:数据采集、数据集成、数据预处理 chp3:HDFS特点、分布式文件系统对比、Nosql数据库对比 chp4:略 chp5:数据可视化技术及其优缺点 chp6:大数据加密解密技术、如何做一个加密解密模型、PKI证书和PMI证书的...
  • 信息系统集成是什么

    2021-07-25 00:49:43
    信息系统集成是通过结构化的综合布线系统和计算机网络技术,将各个分离的设备、功能和信息等集成到相互关联的、统一和协调的系统之中,使资源达到充分共享,实现集中、高效、便利的管理。采用功能集成、网络集成、...
  • 数学建模冲刺篇(数据预处理)

    千次阅读 2021-02-04 08:41:24
    数据进行预处理,一般分为四个步骤:数据清理、数据集成、数据变换、数据归约。 一、数据清理(缺失值、异常值、无关值、噪音、重复值) 1.缺失值 缺失值:1、删除:数量较少,对整体数据没什么影响的直接删除该条...
  • 数据预处理
  • 数据预处理方法主要包括数据清洗、数据集成、数据转换和数据消减。 1 .数据清洗 现实世界的数据常常是不完全的、含噪声的、不一致的。数据清洗过程包括缺失数据处理、噪声数据处理,以及不一致数据处理。 对于缺失的...
  • 大数据与云计算课后习题

    千次阅读 2021-05-26 09:12:10
    请举例说明结构化数据、半结构化数据、非结构化数据的区别。 结构化数据指的是数据在一个记录文件里面以固定格式存在的数据。结构化数据可以通过固有键值获取相应信息,且数据的格式固定,如RDBMS(关系型数据库) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,038,572
精华内容 415,428
关键字:

数据集成