作家
登录

大数据环境下该如何优雅地设计数据分层

作者: 来源: 2017-07-07 08:50:20 阅读 我要评论

发个牢骚,搞大年夜数据的也得扶植数据仓库吧。并且不管是传统行业照样如今的互联网公司,都须要对数据仓库有必定的看重,而不是谈一句本身是搞大年夜数据的就很厉害了。数据仓库更多代表的是一种对数据的治理和应用的方法,它是一整套包含了etl、调剂、建模在内的完全的理论体系。如今所谓的大年夜数据更多的是一种数据量级的增大年夜和对象的上的更新。 两者并无冲突,相反,而是一种更好的结合。

图一

话说,纯真用用Hadoop、Spark、Flume处理处理数据,其实只是学会几种新的对象,这是搞对象的,只是在数据仓库中etl中的一部分。

当然,技巧的更新往往能领到一个时代的变革,比如Hadoop的出生,光是深刻研究一个大年夜数据组件就要花很大年夜的时光和精力。然则在高潮冷却之后,我们更应当推敲地是若何更好地治理和应用本身的数据。

吐槽完毕,本文重要讲解数据仓库的一个重要环节:若何设计数据分层!其它关于数据仓库的内容可参考其它的文┞仿数据仓库。

本文对数据分层的评论辩论合适下面一些场景,跨越该范围场景 or 数据仓库经验丰富的大年夜神就不必浪费时光看了。

  • 数据扶植刚起步,大年夜部分的数据经由粗暴的数据接入后就直接对接营业。
  • 数据扶植成长到必定阶段,发明数据的应用混乱无章,各类营业都是大年夜原始数据直接计算而得。
  • 各类反复计算,严重浪费了计算资本,须要优化机能。

文┞仿构造

最初在做数据仓库的时刻碰到了很多坑,因为自身资本竽暌剐限,接触数据仓库的时刻,感到在互联网行业琅绫擎的数据仓库成功经验很少,网上很难找到比较实践性强的材料。而那几本经典书本琅绫擎又过于理论,折腾起来真是生不如逝世。还好如今以前了那个坎,是以多花一些时光┞符理本身的思路,赞助其他的小伙伴少踩一些坑。

  1. 为什么要分层?这个问题被好几个同窗质疑过。是以分层的价值照样要说清跋扈的。
  2. 分享一下经典的数据分层模型,以及每一层的数据的感化和若何加工得来。
  3. 分享两个数据分层的设计,经由过程这两个实际的例子来解释每一层该怎么存数据。
  4. 给出一些建议,不是最好的,然则可以做参考。

为什么要分层

我们对数据进行分层的一个重要原因就是欲望在治理数据的时刻,能对数据有一个加倍清楚的┞菲控,具体来讲,重要有下面几个原因:

  1. 清楚数据构造:每一个数据分层都有它的感化域,如许我们在应用表的时刻能更便利地定位和懂得。
  2. 数据血缘追踪:简单来讲可以如许懂得,我们最终给营业诚信的是一能直接应用的┞放营业表,然则它的来源竽暌剐很多,如不雅有一张来源表出问题了,我们欲望可以或许快速精确地定位到问题,并清跋扈它的伤害范围。
  3. 削减反复开辟:规范数据分层,开辟一些通用的中心层数据,可以或许削减极大年夜的反复计算。
  4. 把复杂问题简单化。讲一个复杂的义务分化成多个步调来完成,每一层只处理单一的步调,比较简单和轻易懂得。并且便于保护数据的精确性,当数据出现问题之后,可以不消修复所有的数据,只须要大年夜有问题的步调开端修复。
  5. 樊篱原始数据的异常。
  6. 樊篱营业的影响,不必改一次营业就须要从新房入数据。

数据体系中的各个表的依附就像是电线的流向一样,我们都欲望它是很规整,便于治理的。然则,最终的结不雅大年夜多是第一幅图,而非第二幅图。

留意: 在这层,理应不是简单的数据接入,而是要推敲必定的数据清洗,比如异常字段的处理、字段定名规范化、时光字段的同一等,一般这些很轻易会被忽视,然则却至关重要。特别是后期我们做各类特点主动生成的时刻,会十分有效。后续会有文┞仿来分享。

  • ODS、DW –> App层

理论

我们大年夜理论上来做一个抽象,可以把数据仓库分为下面庞个层,即:数据运营层、数据仓库层和数据产品层。

  • ODS全称是Operational Data Store,操作数据存储

“面向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经由采取、洗净、传输,也就说传说中的ETL之后,装入本层。本层的数据,总体上大年夜多是按照泉源营业体系的分类方法而分类的。

例如这一层可能包含的数据表为良士口表(包含每小我的身份证号、姓名、住址等)、机场登机记录(包含乘机人身份证号、航班号、乘机日期、起飞城市等)、银联的刷卡信息表(包含银行卡号、刷卡地点、刷卡时光、刷卡金额等)、银行账户表(包含银行卡号、持卡人身份证号等)等等一系列原始的营业数据。这里我们可以看到,这一层面的数据还具有光鲜的营业数据库的特点,甚至还具有必定的关系数据库中的数据范式的组织情势。

然则,这一层面的数据却不等同于原始数据。在源数据装入这一层时,要进行诸如去噪(例如去掉落明显偏离正常程度的银行刷卡信息)、去重(例如银行账户信息、公安降魉口信息中均含有人的姓名,然则只保存一份即可)、提脏(例如有的人的银行卡被盗刷,在十分钟内同时有两笔分别在中国和日本的刷卡信息,这就是脏数据)、营业提取、单位同一、砍字段(例如用于支撑前端体系工作,然则在数据发掘中不须要的字段)、营业判别等多项工作。

  • 数据仓库层(DW),是数据仓库的主体

在这里,大年夜ODS层中获得的数据按照主题建立各类数据模型。例如以研究人的旅游花费为主题的数据集中,便可以结合航空公司的登机出行信息,以及银接洽统的刷卡记录,进行结合分析,产生数据集。在这里,我们须要懂得四个概念:维(dimension)、事实(Fact)、指标(Index)和粒度( Granularity)。

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)