首页 首页 大数据 大数据入门 查看内容

李昊:谈谈数据仓库建设心得(下)

木马童年 2019-12-30 14:08 126 0

分享记录:下面是具体的模型设计,一般在数据仓库行业,业务模型有两类,一类是企业自有的数据模型,一类是行业模型,比如金融业:天睿,银行业、保险业、制造业、医疗生命科学行业,这些一般是实施顾问团队总结的。 ...

李昊:谈谈数据仓库建设心得(下)

分享记录:

李昊:谈谈数据仓库建设心得(下)

下面是具体的模型设计,一般在数据仓库行业,业务模型有两类,一类是企业自有的数据模型,一类是行业模型,比如金融业:天睿,银行业、保险业、制造业、医疗生命科学行业,这些一般是实施顾问团队总结的。但这些行业模型在中国市场运行的不太好,除了金融和电信稍好点,其他行业因发展较快、业务变化较快,迭代较国外快很多。我不建议以自上而下的方式、预先用一个模型将自己框住,然后按填表似的填入各种业务数据,这些看起来美好,但是实际运营中问题较多。

李昊:谈谈数据仓库建设心得(下)

整个数据仓库的规划实施是一个长期的过程,大体分为三个阶段:规划设计阶段、模型落地阶段、优化阶段,这是一直循环的,比如任何一个需求来了或者开发任务来了,这个循环都要重走一遍。前面一部分都属于规划设计阶段,比如需求评估分析、内容设计、分析思路,这些都是刚入行的人不太熟悉的,而我们熟悉的主要是实施阶段,从概念模型到逻辑模型到物理模型。但是现在很少做概念模型,多是从逻辑模型开始、然后是物理模型、元数据管理。优化部分,包括对数部分,这样的汇总逻辑是否合理准确,压力、物理模型调整、容量的规划,存储哪些、存储多长时间。实际上,数据仓库主要是一系列的实施方法论,主要是如何帮我们将业务主题的分析做好。

李昊:谈谈数据仓库建设心得(下)

在数据模型的具体设计中,星型结构用的较多,但是在数据仓库项目中基本也不会出现雪花型的数据存储。星型已经兼顾了灵活性和线性增长,比如说:事实表就是中间的FACT,,它是线性增长的,但是维度表,像时间维度、部门维度增长较缓慢,一般是比较静态的。总结一下,数据模型的设计原则是方便查询,像目前流行的tableau、qlikview,基本已经不分表,将所有的维度和事实放在一张表里直接运算。

以我们前面的客户价值分析为例,刚才设计的表结构,把维表和事实,也就是维度字段与指标字段都放到一张表,不会维度表与事实表分开存储,这样会造成空间上的冗余和浪费,但是在查询速度与便利性方面,绝对会优于星型与雪花型的存储方式。

李昊:谈谈数据仓库建设心得(下)

数据模型建好后,就会建立一个ETL来去跑,做成一个定时任务; 像T+1,每天凌晨会跑前一天的数据,或者每隔一小时跑数据,按业务需求。把业务系统的数据通过ETL写入到我们建立的数据模型中去。为后面的BI平台,数据挖掘或者其它报表需求来使用这些数据。

李昊:谈谈数据仓库建设心得(下)

一个数据仓库建设的本身大概分这些层级。业务系统是企业本身就有的,会有临时区、历史数据区、明细数据层、数据集市层,这些大概就是数据仓库基本涵盖层面。临时区有的项目有,有的项目没有,主要牵扯到业务系统需不需要做临时处理,夜间是否可以中断,因为有的是7*24小时每秒都要跑的不能中断的系统。

而历史数据ODS层基本上是每个系统或者每个项目都会有的,它主要承担两种功能,一种是说它是跟业务系统表结构基本上有一个一一对应的关系,这样我们在对数时候,也就是我们经过轻度汇总、高度汇总后就可以直接跟ODS对数就可以了,不用回头再去找到业务系统去对数。ODS层的基础任务层是作为数据仓库的基础来源,它是通过定时任务跟业务系统一一对应的。

明细数据层是根据ODS层汇总、导入、调整来的,这一层过程中基本会做一些数据清理、合并、质量校验这样的一些工作。ODS本身为了跟OLTP对应,一般上是不做数据清洗的,可能会做一些简单的,但基本上清洗工作或者数据质量校验,一些基础的合并汇总都会在数据明细层完成。

对于数据集市层轻度汇总、高度汇总,典型的举例可以回顾一下刚才我们所用客户价值分析里面的两张表,一个是客户价值分析明细表实际就是轻度汇总数据,面向DC的高度汇总数据,就是我们高度汇总数据。这样一个数据仓库的完整流程大概类似于这样。

李昊:谈谈数据仓库建设心得(下)

李昊:谈谈数据仓库建设心得(下)

最后简单介绍两个项目案例,一个是金龙汽车,做大客车的;一个是麦考林,是做女性电商的。金龙汽车这边有一个比较好玩的是,用一个案例举例,客户订单及时交付率或者是订单及时响应率,这样的一个指标当时我们把它分解成十几个指标,真正背后应用场景是这样的,他们的客车是从订单到交付的中间环节特别多。

订单从意向订单到确认了以后,设计部门会要确认一下,因为像这种客车每一台发动机、轮胎、车厢都是个性化定制的,所以会要设计部门涉及确认,确认时间影响了整个订单及时率。从确认以后到订单签单、合同签订以及到设计完成、生产完成、质量检测完成、入库完成以及交付完成每一个环节都会有一个指标分析在做,中间甚至入库、或者中间生产过程都会四小时指标,每一个指标都有一个责任人,每一个责任人都要对这个指标负责的。

因为这次分享对象,很多是做数据挖掘,数据分析的同学。所以对于数据仓库的理解可能不是那么多,希望通过今天分享有所收获。而且对于开发工程师来说,一般数据仓库的项目,真正深入做完之后都会或多或少对你所做的业务理解的会比较深了。今天的分享大概会是这样,我先把前面的提问简单回答一下。

Q:

1. 数据仓库与数据挖掘有什么联系和区别?

2. 数据仓库与数据库有什么区别?

3. 那数据集市与数据库、数据仓库 有什么区别?

这三个问题基本算一类问题,我统一回答下。数据仓库与数据挖掘的关系,数据仓库是一个整体数据存储逻辑,数据挖掘是一个具体的知识验证,或者知识设想的时候做的一个具体工作,它发现的结果一般会存储在企业的知识库里。

时间关系,其他几个问题我会后续更新到网站上面,敬请期待。谢谢各位,共同学习。


在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

数据仓库 数据模型 规划设计 数据管理 数据存储 数据挖掘
0
为您推荐
大数据现在处于什么阶段,入行大数据,需要学习哪些基础知识?

大数据现在处于什么阶段,入行大数据,需要学习哪些基

大数据的发展历程总体上可以划分为三个重要阶段,萌芽期、成熟期和大规模应用期…...

大数据技术怎么学习,在学习大数据之前,需要具备什么基础?

大数据技术怎么学习,在学习大数据之前,需要具备什么

  大数据又称黑暗数据,是指人脑无法处理的海量数据聚合成的信息资产,在民生、IT、…...

对于大数据开发的学习,最经典的学习路线是什么?

对于大数据开发的学习,最经典的学习路线是什么?

对于现代社会,大数据开发的重要性不言而喻,通过大量的数据处理、分析获取有价值的信…...

大数据时代,主要需要什么类型的人才?

大数据时代,主要需要什么类型的人才?

什么是大数据,大数据是主要指的是,无法在可承受的时间范围内用常规软件工具进行捕捉…...

什么样的人才是大数据人才呢?我们应该怎么定义和分类?

什么样的人才是大数据人才呢?我们应该怎么定义和分类

在未来世界,国家之间、区域之间甚至是公司之间的大数据人才的争夺战,将是愈演愈烈的…...

数据科学,数据分析和机器学习之间,有什么本质区别?

数据科学,数据分析和机器学习之间,有什么本质区别?

我们都知道机器学习,数据科学和数据分析是未来的发展方向。有些公司不仅利用大数据帮…...