一篇文章让你轻松get熟悉又陌生的数据仓库

你对数据仓库了解多少?先别着急回答我:这是什么鬼?看看下面的场景,相信你一定会发现,数据仓库如同空气,虽然抽象却又与我们的生活如此贴近。

一篇文章让你轻松get熟悉又陌生的数据仓库

那些数据仓库隐秘的藏身之处

1.商业智能系统

商业智能系统也就是一般所指的BI系统。数据仓库普遍的使用场景就是和商业智能系统配合使用。商业智能支持企业用户的商业决策,从日常运营到远期战略规划。一般通过处理大量的数据帮助企业用户识别新的经营机会,构建市场竞争力

企业用户通过商业智能系统收集整理商业数据,实现数据的分析,展示和传播,进而影响商业决策。商业智能系统可以提供历史的,当前的和预测的企业运营数据,通过包括报表展示,数据分析,数据发掘,预测分析,绩效指标,基线考核等核心技术和手段,通过挖掘数据的内在价值,帮助用户实现既定的商业目标。

一篇文章让你轻松get熟悉又陌生的数据仓库

2.数据仪表盘

数据仪表盘是一种用来显示企业的当前关键绩效指标(KPI)的数据可视化工具。仪表盘通常会把多个关键绩效指标和相关图表汇总到一块展示,是一种向经营决策者快速传递当前经营状况的有效手段。通常情况下,仪表盘上图表使用的数据都是从数据仓库当中通过查询实时提取出来的。很多商业智能系统都在一定程度上提供仪表盘的功能。

一篇文章让你轻松get熟悉又陌生的数据仓库

3.探索式和交互式数据分析

探索式数据分析是一种用来分析总结数据特征属性的方法,一般来说都是和数据可视化结合在一起发挥作用。数据探索人员可以预先假设一个数据模型,然后用统计的方法去验证或发现待探索的数据是否符合该模型或者假设。如果该假设成立,那么在此基础上再去检验新的数据集或者进一步提炼假设的模型,让其更接近最终的分析结果。

探索式数据分析是一个对假设的结果进行验证和收敛的过程,探索式数据处理被广泛地应用在金融,保险, 互联网,社科,医疗,制药等行业,是数据科学家和工程师的好帮手。

一篇文章让你轻松get熟悉又陌生的数据仓库

4.批量数据处理

批量数据处理是处理周期性产生的大规模数据的一种有效途径。在很多业务系统中,周期性的数据会被生产,搬迁,聚合,关联,通过多个步骤产生最终的数据结果集。批量数据处理一般需要动用多个数据处理脚本或任务协同工作,一般都具备容错和重启的功能。

企业经营指标的日报表或月报表一般都是由批量数据处理系统产生的。批量数据处理系统一般对计算资源要求较多,对响应时延的要求较低,一般都选择在业务系统不那么繁忙的夜间运行。

一篇文章让你轻松get熟悉又陌生的数据仓库

在数据时代, 数据仓库的应用范围也更加的宽广。通过数据快速灵活地调整商业决策也越来越受到广大企业用户的认可,并把它应用到自己的生产服务过程当中。我们每天都在使用的手机应用,买车买房,贷款消费,以及交通路况,社保医疗,政府服务等方方面面,后台都可能有数据仓库的相关技术在做支撑。

可以说,数据仓库技术正在静静地改变着我们的生产和生活,如此重要的东西,我们怎么能不学会建立它呢?

数据仓库的建设

数据仓库只是一个理论,其实并不与技术有关。虽然现在大多数数据仓库是用hadoop、hive来构建的,但是早期的mysql或者sqlserver其实也是支持的。只是基于hadoop的三副本存储方式能够更加保证数据安全和备份。以及现在很多开发大数据框架hive、spark、flink等等在数据计算和存储上能够更加方便,因此便选择这些。

数据仓库的建立有七个环节,包括异种数据源集成、ODS层的设计、数据仓库模型设计、ETL过程的设计、元数据管理、专题分析与数据挖掘、前端展现。

一篇文章让你轻松get熟悉又陌生的数据仓库

下面我来讲讲公司的数据仓库架构都是什么样的。

1.数据模型架构:如何建立合适的数据模型,构建合适的分层模型数据

现在市面上一般存在的数据模型大体可以总结为三层的方式:原始数据层、中间层、应用层

  • 原始数据层(ODS):把线上的业务数据抽取过来,做最原始的存储。
  • 中间数据层(DW):将原始数据进行整合,其中最为关键的是如何设计粒度,既能够保证数据完整、又尽量少产生冗余数据是难点。
  • 应用层:也称做数据集市,按照不同的业务划分。提供给不同的业务部门使用。

上述合理的三层设计会让数据模型能够应对未来5-10年的数据变化,而不会因为业务一直变动。所以如果设计好,是关键。

一篇文章让你轻松get熟悉又陌生的数据仓库

2.核心数据模型:也就是上面讲述的中间层的粒度划分,即数据仓库的主题划分。如何根据业务合理的划分主题。

一篇文章让你轻松get熟悉又陌生的数据仓库

3.大数据架构:上述所建立完成好的数据仓库,需要抽数、推数、查询、监控、展示。因此需要有一套完善的大数据平台来达到自动化实现这些。

  • 抽数和推数:其实就是从线上数据抽数、以及往其他业务推送数据,同时做好定时任务的管理、元数据的管理和数据血缘关系等即可。
  • 查询和计算:如何快速的查询出需要的数据、计算出想要的结果。
  • 监控:大数据监控
  • 展示:主要涉及到如何做报表展示,更加直观的展示数据的变化
一篇文章让你轻松get熟悉又陌生的数据仓库

因此我觉得数据仓库的模型建设和主题划分才是数据仓库的关键。

数据仓库的数据模型建设

数据仓库数据模型是指使用实体、属性及其关系对企业运营和逻辑规则进行统一的定义、编码和命名,是业务人员和开发人员之间沟通的一套语言。

数据仓库数据模型与业务系统数据模型设计的区别:

一篇文章让你轻松get熟悉又陌生的数据仓库

数据仓库数据模型设计是分顺序的,笔者认为应该按照如下顺序来建设数据模型。

  • 概念模型设计(业务模型):界定系统边界;确定主要的主题域及其内容
  • 逻辑模型设计:维度建模方法(事实表、维度表);以星型和雪花型来组织数据
  • 物理模型设计:将数据仓库的逻辑模型物理化到数据库的过程

1.维度模型

维度模型则是数据仓库领域另一位大师Ralph Kimball 所倡导的。维度建模以分析决策的需求为出发点构建模型,一般有较好的大规模复杂查询的响应性能,更直接面向业务,典型的代表是我们比较熟知的星形模型,以及在一些特殊场景下适用的雪花模型

一篇文章让你轻松get熟悉又陌生的数据仓库

2.关系模型

关系建模又叫ER建模,是数据仓库之父Inmon推崇的,其从全企业的高度设计一个3NF模型的方法,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,其是站在企业角度进行面向主题的抽象,而不是针对某个具体业务流程的,它更多是面向数据的整合和一致性治理

一篇文章让你轻松get熟悉又陌生的数据仓库

"


分享到:


相關文章: