其实数据集成是数仓的一个基本特点,这里我们再回顾一下数仓的特性,或者说是我们再回顾一下数仓的定义,面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策的数据系统。

今天我们学习的数据集成指的是“集成的” 特性,说到数据集成我们就不得不说我们为什么要建设数仓了,关于数仓是是什么或者是服务于什么的我们已经说过了,那就是数仓主要是用来做决策的,也就是从数据的角度出发去做决策,而不是纯粹的拍脑袋去决策

所以这个时候数据准确性就很重要,这里的数据准确性不仅仅指的是我们的数据计算准确,而是指的是我们的数据本身要能够反应事实,也就是说我们要拿合适的数据来干正确的事情。

我们将以前分散的数据收集到一起不仅仅是为了打破数据壁垒,我们更希望能进行统一处理,从而提高数据的可信性、提高数据的生产效率问题,所以说数据集成并不是单单指的是数据收集,可能一说到数据集成大家想到的可能就是 sqoop、dataX、maxwell 这样的数据同步工具,这个想法本身没错,但是这些仅仅是工具,是开始而已。

数据集成的背景

集成的目的是为了打通数据从而更加准确的描述业务,从而更好的为业务赋能,这里举一个例子介绍我现在有三个决策系统,都需要一份业务数据,那这个时候三个系统都会从业务数据库拉去数据,这个时候就会引发很多问题

  1. 对业务库的压力太大

  2. 每个系统都有自己的逻辑、产出不准确、数据无法核对

  3. 每个系统都有资源消耗

在企业中,由于开发时间开发部门的不同,往往有多个异构的、运行在不同的软硬件平台上的信息系统同时运行,这些系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交流、共享和融合,从而形成了"信息孤岛"。随着信息化应用的不断深入,企业内部、企业与外部信息交互的需求日益强烈,急切需要对已有的信息进行整合,打通信息孤岛,共享信息。

数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有了很多成熟的框架可以利用。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。

数据集成通过应用间的数据交换从而达到集成,主要解决数据的分布性和异构性的问题,其前提是被集成应用必须公开数据结构,即必须公开表结构,表间关系,编码的含义等

数据集成的分类

在企业数据集成领域,已经有了很多成熟的框架可以利用。通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。在这里将对这几种数据集成模型做一个基本的分析。

联邦数据库系统

联邦数据库系统( FDBS)由半自治数据库系统构成,相互之间分享数据,联盟各数据源之间相互提供访问接口,同时联盟数据库系统可以是集中数据库系统或分布式数据库系统及其他联邦式系统。

在这种模式下又分为紧耦合和松耦合两种情况,紧耦合提供统一的访问模式,一般是静态的,在增加数据源上比较困难;而松耦合]则不提供统一的接口,但可以通过统一的语言访问数据源,其中核心的是必须解决所有数据源语义上的问题。

中间件模式

中间件模式通过统一的全局数据模型来访问异构的数据库、遗留系统、Web 资源等。

中间件位于异构数据源系统[数据层) 和应用程序(应用层) 之间,向上协调各数据源系统,向下为访问集成数据的应用提供统一数据模式和数据访问的通用接口。各数据源的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次的数据收集和分发服务。

中间件模式是比较流行的数据集成方法,它通过在中间层提供一个统一的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个统一的整体。这种模型下的关键问题是如何构造这个逻辑视图并使得不同数据源之间能映射到这个中间层。

比较主流的中间件模式是使用一些高性能的消息队列,例如kafak、pulsar 等,也就是说我们的多个数据源将自己的数据发送到kafka ,下游的集成系统再从kafka 进行消费数据,从而完成数据集成。

数据仓库模式

数据仓库在另外一个层面上表达数据之间的共享,它主要是为了针对企业某个应用领域提出的一种数据集成方法,也就是我们在上面所提到的面向主题并为企业提供数据挖掘和决策支持的系统。

所以说数据仓库的数据集成其实是按照域对数据集成进行划分管理的,其实这就和我们的宽表建设进行了呼应,可以参考数仓建模—宽表的设计,所以说数据集成它不等于数据堆集,也不等于数据同步,不是说我把数据同步到一个地方,然后使用的时候就可以在这个地方找得到这就是数据集成。

数据集成的目的是为了打通数据孤岛,数据同步到一起,孤岛还在,这个时候要我们需要按照业务特点进行加工才可以建设我们的数仓表,这样才算是完成了数据集成。

所以我们可以看到前面的联邦数据库系统、中间件模式 只是在一定程度上的数据集成工具,但是它并没有完成业务意义上的数据集成。

数据集成的含义

这里我们还是要说一下数据集成的含义,否则你可能认为数据集成就是数据同步,或者是数据同步平台(d_BUS)的建设

  1. 数据集成需要有数据同步的能力,也就是说需要将散落在各处的数据同步过来,这里会涉及到各种异构数据源,所以对我们的数据平台能力有一定的要求,例如支持各种数据库的能力、支持实时和离线的数据同步能力

  2. 按照业务特点对同步过来的数据进行清洗加工,然后以宽表的形式堆外提供服务,这里的宽表才是我们业务上集成的含义

  3. 集成也是有要求的,也就是说我们是在特定的数据域下进行集成的。

总结

  1. 数据集成是数仓的特性,所以数仓需要具备数据集成的能力;

  2. 数据集成它不等价于数据同步平台,数据同步只是数据集成的第一步;

  3. 数据集成的目的是为了打通数据孤岛,从而更好的支持企业的数据决策,数仓打破数据孤岛的方式是将各个业务系统数据集中到一个统一的、集中的 数据仓库,而达到这个目的方式就是数据集成。

【数仓】数据仓库—数据集成相关推荐

  1. 数仓建模—数据同步方案设计

    数据同步方案设计 通过前面的学习数据仓库的特性之一是集成,关于一点你可以参考我们前面的文章 数仓建模-数仓初识 数仓建模-数据集成 数据集成狭义上来说就是把未经过加工处理的.不同来源的.不同形式的的原 ...

  2. 看这篇就明白大数据实时数仓、离线数仓、数据湖之间的关系

    数仓架构演变 20世纪70年代,MIT(麻省理工)的研究员致力于研究一种优化的技术架构,该架构试图将业务处理系统和分析系统分开,即将业务处理和分析处理分为不同层次,针对各自的特点采取不同的架构设计原则 ...

  3. 从数仓到数据中台,谈技术选型最优解

    本文根据颜博老师在[Deeplus直播第218期]线上分享演讲内容整理而成. 颜博 马蜂窝数仓研发总监 现任马蜂窝数据仓库团队负责人,曾供职于京东.IBM.亚信等公司. 数据行业老兵一名,历经传统数据 ...

  4. 数仓和数据中台长期霸权,数据湖最稳

    随着信息化进程的加快,传统数仓越来越无法适应海量数据存储和分析的需求,天下苦数据仓库久矣! 只能存储结构化数据,无法采集存储非机构化数据: 无法存储原始数据,所有数据须经过ETL清洗过滤: 离线数仓的 ...

  5. 浅尝辄止:数据库--数仓大数据平台--数据中台

    很久没有更新博客了,今天主要是想谈一谈自己工作几年总结的心得. 1.浅尝辄止 数据库:基于mysql,oracle来实现数据库分析(存储在数据库,使用数据库语言直接分析,最后成报表形式). 数仓&am ...

  6. [数仓笔记]数据建模

    [数仓笔记]数据建模 1. 为什么需要数据建模 2. 典型的数仓建模方法论 2.1 关系建模 2.2 维度建模 3. 数据整合及管理体系 3.1 体系架构 3.2 指标体系 3.2.1 定义 3.2. ...

  7. 大数据演进简史:从数仓到数据中台,谈技术选型最优解

    大家好,今天分享的议题主要包括几大内容: 带大家回顾一下大数据在国内的发展,从传统数仓到当前数据中台的演进过程: 我个人认为数据中台的核心组成,以及一些技术选型参考: 数据研发是数据中台很重要的一环, ...

  8. 数仓实时数据同步 debezium

    数仓实时数据同步 debezium 背景 debezium 简介 架构 基本概念 例子 Router 目前遇到的问题 背景 数据湖将源库的数据同步到hive数仓ods层,或直接在kafka中用于后面计 ...

  9. 谈笑间学会数仓—大数据建模过程

    谈笑间学会数仓-大数据建模过程 首先我们先来了解一下,大数据建模都需要遵循哪些原则呢?先来列举一下 建模原则 高内聚和低辑合 将业务相近或者相关.粒度相同的数据设计为一个逻辑或者物理模型:将高概率同 ...

最新文章

  1. eeglab教程系列(10)-绘制ERP图像
  2. 【旧文章搬运】Windbg+Vmware驱动调试入门(一)---Windbg的设置
  3. Windows Phone 8 开发资源汇总
  4. 字符函数和内存函数模拟实现
  5. Java中BigInteger的各种方法详解
  6. Spring的REST服务发现性,第5部分
  7. 洛谷 P3392 涂国旗
  8. 天弘基金交易数据清算从8小时缩至1.5小时 解决余额宝算力难题
  9. Redis-集合(Set)基础
  10. LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
  11. python二分查找例题_Python查找数组中数值和下标相等的元素示例【二分查找】
  12. Java集合的常见面试题(全)
  13. 一句话就能把你逗乐的经典笑话
  14. 一个架构师的真正职责
  15. Matlab求解给定系统稳态误差
  16. 常见表单反爬虫安全措施解密
  17. ui设计师面试技巧总结
  18. 循环神经网络(RNN)预测股票价格,附带例子和完整代码
  19. oracle中 xD转义,【转】oracle X表汇总
  20. Facebook对决谷歌:未来互联网王者之争

热门文章

  1. UI组件库Kendo UI for Vue中文入门指南(一)
  2. 《猜画小歌》背后趣事
  3. pyqt 调用QT设计师创建的对话框
  4. vba clear清除公式、内容、格式的使用
  5. Windows 10教程_编程入门自学教程_菜鸟教程-免费教程分享
  6. 论售前工程师主要岗位职责及作用
  7. 安装Anaconda3
  8. 蓝牙电话之PBAP-优化通话记录的同步
  9. 生物医药新股扎堆闯关港股:多家公司上市首日破发,暂缓或继续?
  10. MySQL慢查询与执行计划分析