数据处理大致可以分成两大类:
数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转 化成现实的数据库。
在维度建模中,将度量称为“事实” , 将环境描述为“维度”。
表中的每行数据代表一个业务事件。“事实”表示的是业务事件的度量值(可以统计次数、个数、金 额等)
事实表特征
事实表分类
维度建模按数据组织类型划分可分为星型模型、雪花模型、星座模型。
英文名称为Data Warehouse,可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持。它出于分析性报告和决策支持目的的创建。
数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。
数据仓库中的数据是按照一定的主题域进行组织。
主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。而操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离。
每一个主题基本对应一个宏观分析领域。 主题(Subject)是对应企业中某一宏观分析领域所涉及的分析对象(重点是分析的对象,对象,仔细理解 一下对象的含义)。
数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。面向 事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。 这一步时数据仓库中最关键、最复杂的一步,所有完成的工作有:
1. 要统一源数据中所有矛盾之处,如字段的同名异义、异名同义、单位不统一、字长不一致,等等;
2. 进行数据综合和计算,数据仓库中的数据综合工作可以在从源数据库中抽取时生成,但许多是在数据 仓库内部生成的。
数据仓库的数据反应的是一段相当长的时间内的历史数据的内容,是不同时点的数据库快照的集合,以 及基于这些快照进行统计、综合和重组的导出数据。
数据非易失性主要针对与应用而言,数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
数据仓库中包含各种粒度的历史数据,数据仓库中的数据可能和特定的某个日期、星期、月份、季度和 年份有关。数据仓库的目的是根据企业过去一段时间里业务的经营状况,挖掘其中隐藏的模式。虽然数 据仓库的用户不能修改数据,但并不是说数据仓库中的数据是永远不变的。分析结果只是反应过去的情 况,当业务发生变化后,挖掘出的模式就会失去失效性。因此数据仓库中的数据需要更新,以适用决策的需要。从这个角度讲,数据仓库建设是一个项目,更是一个过程。数据仓库的数据随时间的变化表现 在以下几个方面:
1. 数据仓库的数据时效一般要远远长于操作型数据库数据的时效。
2. 操作性数据库存库的是当前数据,而数据仓库中存储的是历史数据。
3. 数据仓库中的数据是按照时间顺序进行追加的,它们都带有时间属性。
按照数据流入流出的过程,数据仓库架构可以分为三层–源数据、数据仓库、数据应用。
数据分层每个企业根据自己的业务需求可以分成不同的层次,但是最基础的分层思想,
理论上数据分为 三个层 1 ods 2 dw 3 ads。
按照一个标准或流程进行开发,以保证数据一致性,流程清晰且稳定。 提高开发效率,提升质量,降低沟通对齐成本,降低运维成本等
表名需要见名知意,通过表名就可以知道它是哪个业务域,干嘛用的,什么粒度的数据。
ETL工具(sqoop,DataX,Kettle,canal,StreamSets)
sqoop: 是Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具。
DataX DataX
从技术实施角度看,数据治理包含“理”“采”“存”“管”“用”这五个步骤,即业务和数据资源梳理、数 据采集清洗、数据库设计和存储、数据管理、数据使用。
从上图可见,数据仓库包含来自许多操作源的数据有APP应用的数据,也有Oracle的数据。经过数仓以 后的结构它可用于分析数据,例如制作用户画像标签,推荐系统等。数据仓库不仅是分析工具,同时支 持跨多个部门的用户的决策和报告。也是档案,包含未在操作系统中维护的历史数据。
小结:为啥要懂数据仓库呢?