SoWhat1412 |作者
掘金|出处
1
什么是数据仓库
数据存储;英文名称为Data Warehouse,可以缩写为DW或DWH。数据仓库是企业所有级别的决策过程,是提供所有类型数据支持的战略集合。为分析报告和决策支持而创建。为需要业务智能的企业指导业务流程改进、监控时间、成本、质量和控制。
2
数据仓库能做什么?
年度销售目标的指定要根据过去的历史报告做出决定,不能拍脑袋优化业务流程。(威廉莎士比亚,温斯顿,销售,销售,销售,销售,销售,销售)
例如,电子商务网站订单的完成包括浏览、订购、支付、物流。其中物流可以与中、信通、韵达等快递公司合作。快递公司每次发送订单都有订单发送确认时间,根据订单发送时间,可以分析哪个快递公司比较快速高效,可以选择和哪个快递公司合作,去掉哪个快递公司,用户友好。(大卫亚设)。
总之,就是汇总八方数据,清洗后为我提供服务。
3
数据仓库的特征
1.数据仓库中的数据以主题为导向
根据现有数据库对数据组织的特点,数据仓库中的数据是以主题为导向组织的。什么是主题?首先,主题是抽象的概念,是对高水平企业信息系统中的数据进行综合、分类和分析的抽象。
从逻辑意义上说,它是相关企业宏观分析领域的相关分析对象。以主题为中心的数据组织方式是对分析对象的数据的高级完整一致的描述,可以完整一致地区分每个分析对象所涉及的企业的各种数据和数据之间的联系。上层意味着,与面向应用程序的数据组织方式相比,按主题组织数据的方式具有较高的数据抽象水平。老实说,就像写作文一样,写什么,你总是有主题思想的!
2.数据仓库中的数据是集成的
数据仓库中的数据是从原始分布式数据库数据中提取的。生产数据和分析数据之间存在很大差异。
数据仓库中每个主题对应的源数据在原始分布式数据库中有很多重复和不一致的地方,不同联机系统中的数据与不同的应用逻辑捆绑在一起。
数据仓库中的联合数据不能直接从现有数据库系统中获取。因此,数据进入数据仓库之前必须经过统一和集成。
这是构建数据仓库中最重要、最复杂的步骤。要执行的任务包括:
要统一解决源数据的所有矛盾。例如,要进行字段的同名异义词、李明同义词、单位不均匀、字长不一致等数据综合和计算。数据仓库中的数据集成操作可以在从现有数据库中提取数据时创建,但通常在数据仓库内创建。也就是说,在进入数据仓库后执行联合生成的大多数情况下,一般数据仓库的构建由大型数据部门负责,其他分析业务部门无权直接使用在线table。
3.无法更新数据仓库中的数据
数据仓库中的数据主要用于企业决策分析,相关的数据操作主要是数据查询,通常不进行修改。数据仓库中的数据反映了长期以来历史数据的内容、多个时间点的数据库快照集以及基于这些快照的统计、合并和重组的导出数据。不是在线处理的数据。
在数据库中联机处理的数据以集成方式输入到数据仓库中
库中,一旦数据仓库存放的数据已经超过数据仓库的数据存储期限,这些数据将从当前的数据仓库中删去。因为数据仓库只进行数据查询操作,所以数据仓库管理系统相比数据库管理系统而言要简单得多。4. 数据仓库的数据是随时间不断变化的
数据仓库中的数据不可更新是针对应用来说的,也就是说,数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不是说,在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据都是永远不变的。
数据仓库的数据是随时间的变化而不断变化的,这是数据仓库数据的第四个特征。这一特征表现在以下3方面:
- 数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库中去,也就是要不断地生成OLTP数据库的快照,经统一集成后增加到数据仓库中去;但对于确实不再变化的数据库快照,如果捕捉到新的变化数据,则只生成一个新的数据库快照增加进去,而不会对原有的数据库快照进行修改。形象来说就是对数据进每日全量数据的收集
- 数据仓库随时间变化不断删去旧的数据内容。数据仓库的数据也有存储期限,一旦超过了这一期限,过期数据就要被删除。只是数据仓库内的数据时限要远远长于操作型环境中的数据时限。在操作型环境中一般只保存有60到90天的数据,而在数据仓库中则需要保存较长时限的数据(如5~10年),以适应DSS(Decision Support System)进行趋势分析的要求
- 数据仓库中包含有大量的综合数据,这些综合数据中很多跟时间有关,如数据经常按照时间段进行综合,或隔一定的时间片进行抽样等等。这些数据要随着时间的变化不断地进行重新综合。因此,数据仓库的数据特征都包含时间项,以标明数据的历史时期
4
数据仓库发展历程
5
数据库与数据仓库的区别
6
OLTP跟OLAP
数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别。
- 操作型处理:叫联机事务处理OLTP(On-Line Transaction Processing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理
- 分析型处理:叫联机分析处理OLAP(On-Line Analytical Processing)一般针对某些主题的历史数据进行分析,支持管理决策,ETL
7
数据仓库架构分层(重点)
1. 数据仓库架构
数据仓库标准上可以分为四层:ODS(临时存储层)、PDW(数据仓库层)、DM(数据集市层)、APP(应用层)。
各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表。
- 临时存储数据运营层:ODS(Operational Data Store):ODS层是这样一种数据存储系统,它将来自不同数据源的数据(各种操作型数据库、外部数据源等)通过ETL(Extract-Transform-Load)过程汇聚整合成面向主题的、集成的、企业全局的、一致的数据集合(主要是最新的或者最近的细节数据以及可能需要的汇总数据)。从数据粒度上来说ODS层的数据粒度是最细的。ODS层的表通常包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。历史数据一般保存3-6个月后需要清除,以节省空间。但不同的项目要区别对待,如果源系统的数据量不大,可以保留更长的时间,甚至全量保存
- 数据仓库层:DW(Data Warehouse):为数据仓库层,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。这一层的数据一般是遵循数据库第三范式的,其数据粒度通常和ODS的粒度相同。在DW层会保存BI系统中所有的历史数据,例如保存10年的数据
DW : Data Warehouse 翻译成数据仓库,DW由下到上分为 DWD、DWB、DWS。DWD:Warehouse Detail 细节数据层,有的也称为 ODS层,是业务层与数据仓库的隔离层 DWB:Data Warehouse Base 基础数据层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。DWS:Data Warehouse Service 服务数据层,基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。
- 数据集市层:DM(Data Mart):为数据集市层,这层数据是面向主题来组织数据的,通常是星形或雪花结构的数据。从数据粒度来说,这层的数据是轻度汇总级的数据,已经不存在明细数据了。从数据的时间跨度来说,通常是DW层的一部分,主要的目的是为了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年(如近三年的数据)的即可。从数据的广度来说,仍然覆盖了所有业务数据。
- 应用层:Application层:这层数据是完全为了满足具体的分析需求而构建的数据,也是星形或雪花结构的数据。从数据粒度来说是高度汇总的数据。从数据的广度来说,则并不一定会覆盖所有业务数据,而是DM层数据的一个真子集,从某种意义上来说是DM层数据的一个重复。从极端情况来说,可以为每一张报表在APP层构建一个模型来支持,达到以空间换时间的目的数据仓库的标准分层只是一个建议性质的标准,实际实施时需要根据实际情况确定数据仓库的分层,不同类型的数据也可能采取不同的分层方法。
2. 为什么要对数据仓库分层?
- 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据
- 解偶,如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大
- 通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。
8
元数据介绍
当需要了解某地企业及其提供的服务时,电话黄页的重要性就体现出来了。元数据(Metadata)类似于这样的电话黄页。
1. 元数据的定义
2. 元数据的存储方式
3. 元数据的作用
9
星型模型和雪花模型
在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。
1. 星型模型
当所有维表都直接连接到事实表上时,整个图解就像星星一样,故将该模型称为星型模型。
星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有一定的冗余,如在地域维度表中,存在国家A 省B的城市C以及国家A省B的城市D两条记录,那么国家A和省B的信息分别存储了两次,即存在冗余。
2. 雪花模型
当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的层次 区域,这些被分解的表都连接到主维度表而不是事实表。
如图所示,将地域维表又分解为国家,省份,城市等维表。它的优点是:通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。雪花型结构去除了数据冗余。
星型模型因为数据的冗余所以很多统计查询不需要做外部的连接,因此一般情况下效率比雪花型模型要高。星型结构不用考虑很多正规化的因素,设计与实现都比较简单。雪花型模型由于去除了冗余,有些统计就需要通过表的联接才能产生,所以效率不一定有星型模型高。
正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的 ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。
3. 星型模型和雪花模型对比
星形模型和雪花模型是数据仓库中常用到的两种方式,而它们之间的对比要从四个角度来进行讨论。
- 数据优化:雪花模型使用的是规范化数据,也就是说数据在数据库内部是组织好的,以便消除冗余,因此它能够有效地减少数据量。通过引用完整性,其业务层级和维度都将存储在数据模型之中。相比较而言,星形模型使用的是反规范化数据。在星形模型中,维度直接指的是事实表,业务层级不会通过维度之间的参照完整性来部署
- 业务模型:在雪花模型中,数据模型的业务层级是由一个不同维度表主键-外键的关系来代表的。而在星形模型中,所有必要的维度表在事实表中都只拥有外键
- 性能:第三个区别在于性能的不同。雪花模型在维度表、事实表之间的连接很多,因此性能方面会比较低。举个例子,如果你想要知道一个用户的详细信息,雪花模型就会进行若干表的join最终汇总结果。而星形模型的连接就少的多,在这个模型中,如果你需要对应信息,你只要将维度表和事实表连接即可
- ETL:雪花模型加载数据集市,因此ETL操作在设计上更加复杂,而且由于附属模型的限制,不能并行化。星形模型加载维度表,不需要再维度之间添加附属模型,因此ETL就相对简单,而且可以实现高度的并行化
- 总结:雪花模型使得维度分析更加容易,比如针对特定的广告主,有哪些客户或者公司是在线的? 星形模型用来做指标分析更适合,比如给定的一个客户他们的收入是多少?
荐:
【中国风动漫】除了《哪吒》,这些良心国产动画也应该被更多人知道!
【中国风动漫】《雾山五行》大火,却很少人知道它的前身《岁城璃心》一个拿着十米大刀的男主夭折!
声明
来源:掘金,人工智能产业链联盟推荐阅读,不代表人工智能产业链联盟立场,转载请注明,如涉及作品版权问题,请联系我们删除或做相关处理!
1.《【dwd022】数据仓库基础知识,“5分8度”可以帮助您》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【dwd022】数据仓库基础知识,“5分8度”可以帮助您》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2486719.html