COMP9318 2020T1 Data Warehouse Week2

COMP9318主要涉及的是数据分析机器学习的算法,第二周第三周Wei Wang主要介绍的便是Data Warehouse (数据仓库)。
本文是个人学习笔记,框架按照Wei Wang的课程课件和讲述设计,以考试复习为目标导向。
如果错误,欢迎大家指正交流

Why and What are Data Warehouses?

要了解数据仓库,首先我们必须要了解当数据分析中会面对的一些问题

数据分析所面对的问题

  • 不同系统中的相同数据

数据分析的数据通常都是整合而来,比如提交给数据分析部门的数据可能来自公司的公关部,财务部等等不同部门,老王举的例子是瑞幸咖啡,观察他们的财报我们会发现,同样的词语可能在不同的部门会有不同的定义和概念(或者相反),比如同样的单词"Year",可能在有些部门就是公历年,有些部门就是财年,词语“季度”,有些可能是"quater",有些是"season",这会导致整合数据的时候出现问题.

  • 异构数据源

有过数据分析建模的同学可能都知道,我们在建模是所使用的“数据集”通常都是一个或者多个相同结构的数据,比如最常用的".csv",“txt”,但是在实际数据分析中,我们的“数据集”来源不一定会有一个统一的格式,他可能是log文件,可能是relational database等等,缺乏一致性,如果我们利用这些数据整合做数据分析,数据的处理会很麻烦

  • 数据更适合用于操作的系统

这个不太明白…简而言之就是,有些数据不适用于数据分析,而更加适用于日常事务操作

  • 数据质量差

这个是建模过程中很常见的问题,数据缺失,不准确等等

  • 数据"易挥发"

在公司的许多业务部门中,他们更关注的是日常的操作和事务处理而无需关注更大的决策,出于此目的,他们储存的数据通常会在6个月后被更新,换言之,在操作的环境下,数据会随时间变化。这就导致了比如我想分析公司这一年以来的总收入支出变化,我就无法获取到半年以前的数据。

Data Warehouse ———为数据分析及决策而生

数据仓库的定义

数据仓库并没有严格的定义,COMP9318这门课采取的是W.H.Inmon的定义,即:

“”
A data ware house is a subject-oriented, integrated, time-variant, and nonvolatile collection of data in support of management’s decision-making process.
“”

数据仓库同样是数据库一种,但是区别于传统的用于事务操作operational system database(操作数据库),它是集合了各种应用系统并且以一个统一的形式存储数据的平台,为数据分析提供了极大的便利,因此,可以说data warehouse是为基于数据分析的决策而生的数据库

数据仓库的特性(记住)

  • Subject-oriented 面向主题

面向决策的数据分析通常是局限于某个特定的领域(subject),比如绩效,利润构成, 风险分析等,所以数据仓库会排除决策中无效的数据,提供针对数据决策者简单而准确,围绕特定主题的数据视图

扫描二维码关注公众号,回复: 9634685 查看本文章
  • Intergrated 集成化

数据仓库的数据来源 多样且异构(multiple and heterogeneous,通常是relational database, flat file, on-line transaction。
这些不同来源的数据需要通过data cleaning and integration 技术保证数据在命名约定(naming conventions),编码结构(encoding structure),属性度量(atrribute measures) 上的一致性。
值得一提的是,也正是因为数据来源不一,整合过后的数据会缺乏连续性的,如果数据发生错误,错误的溯源将会非常麻烦。

  • Time Variant 时变
  1. 数据仓库的时间范围比操作性数据库大得多,前者存储着过去5到10年的历史信息,而后者更新快,存储的是近期的数据。
  2. 数据仓库中每个key structure 都会隐式或者显式的包含时间元素, eg timestamp, year, 也就是说几乎所有的数据仓库都有一个time dimension。
  3. 基于前两点,数据仓库可以捕捉现实世界在特定时间点的情况,比如对于图书商,可以查看某本书现在的销售量,也可以查看去年同时期的销售量, 也可以捕捉现实世界的变化,比如检测某商店扩大店面后销售额变化以及店面面积对销售额的影响
  • Non-Volatile 不易失
  1. 数据仓库是数据的物理分离存储(physically separate store),这些数据由操作环境产生
  2. 数据仓库环境中的操作更新数据不会发生(除非有非常严重的错误)。 数据仓库没有也无需 事务处理,恢复,并发控制机制,通常只需要两种操作:初始化加载数据(nitial loading of data),访问数据(access of data)

数据仓库架构

未完待续…

数据转移到数据仓库中时不是简单的copy,而是ETL
aggregation 是transformation一部分
batch loading 不是实施load
for paticular subject
提取的时候需要知道具体需要哪些数据
不用知道细节when load
pre-aggregate 成特定的格式data-cube(一种更加复杂的materialized view),可以提升aggregation语句的效率

发布了1 篇原创文章 · 获赞 1 · 访问量 63

猜你喜欢

转载自blog.csdn.net/weixin_42267196/article/details/104698856
今日推荐