暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据仓库基础之数据仓库环境(上)

攻城锤的数据仓库 2020-11-30
276
数据仓库是数据建设与使用的核心,是决策支持系统(DSS)的基础。与传统的数据环境相比,数据仓库中数据简单/访问容易,所以DSS分析员的工作要容易的多。

数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策。这是数据仓库的定义。我们分别对其特点进行说明。

  • 面向主题
    操作型系统是围绕应用进行组织,比如对于电商系统,应用服务包括下单/支付/评价等业务过程,但是从主题的角度来看,就是商品,用户与商家。

  • 集成
    还记得我们之前说的"蛛网"结构么?结合上面说的"操作型系统是围绕应用组织的",我们很容易发现,从不同的服务获取的数据中,相同的定义,由于不同的团队规则不同(可能是规范不同,甚至是程序员自己的习惯差异),导致数据也会不同。比如"性别"这个数据,就会有很多种方法来表示男与女,比如: 0/1,x/y,m/f等等,在团队内部,这样的记录方式没有问题,但是在整体使用时,这样的数据给使用带来一些麻烦。除了性别这个例子,其它的比如各种单位:金额,距离,都很可能发生这种情况。
    把各个数据源不同规则的数据整合成一致,就是数据仓库的"集成"的意义。

  • 非易失
    操作型数据随时可能会更新,更新之后只能访问到最新的状态,过去的数据不得而知。而数据仓库的数据则是保持载入时的状态,不会进行一般意义上的更新。(除非回溯数据)

  • 随时间变化
    数据仓库中的数据生命周期要远远长于操作数据,操作型数据往往存一段时间,但是数据仓库中的数据现在一般不删除(当然也有生命周期的设计,但是得利于存储介质的越来越廉价,一般不删数据了)
    操作型数据是"当前"的数据,往往不会有日期数据。而数据仓库是历史上一系列不同时间的数据快照,必然需要包含额外的时间元素,比如年/月/日。

数据仓库结构

数据仓库中,多种粒度数据共存。在数据使用时,越是接近现在的数据越重视细节,侧重明细数据,越是久远的数据越只关注大概,所以,随着时间推移,早期的明细数据会因超过生命周期而删除,保留聚合后的数据。

面向主题

现在的产品,都是"连接"的作用:社交是连接人和人,电商是连接人和商品,资讯是连接人和资源。所以在数据仓库建设中,无论哪个公司,都需要清晰的了解:在公司的产品中,主体都有什么。根据主体,就可以进行主题划分,典型的主题包括:
  • 顾客

  • 商品

  • 内容

  • 广告

以顾客为例,进行一下说明。
在电商产品中,顾客的行为包括:浏览,点击,推荐,下单,评价,支付等。每个行为分别记录在不同数据中,这些数据,可以通过唯一key:顾客id关联起来,这些数据就组成了顾客主题的基础内容。通过这些行为来建设顾客主题。

第一天到第N天

数据建设,不是一蹴而就,而是随着需求一点一点建设的(这也就是为什么我们不要忘记我们是给需求方服务的本心)。
  • 第一天:完成一个需求。

  • 第二天:完成一系列相似需求,抽取一个主题。

  • 第三天:加载更多数据,抽取多个主题。

  • 第四天:完成更多需求。

  • 第五天:数据集市的推出,提供需求部门使用。

  • ……

  • 重复进行。

数据仓库与传统开发不同,传统开发,讲求快:快速完成,实验,迭代。而数据仓库的原则是:慢就是快。当有需求来了要考虑已有数据是否能覆盖这个需求,如果不能,这个需求对我们的数据建设有什么帮助,稳步建设。

待续……


文章转载自攻城锤的数据仓库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论