数据仓库工具箱_读书笔记

合集下载

数仓工具介绍

数仓工具介绍

数仓⼯具介绍随着数据收集⼿段不断丰富,⾏业数据⼤量积累,数据规模已增长到了传统软件⾏业⽆法承载的海量数据(百TB、PB、EB)级别。

1、种类(1)Hive是基于的⼀个⼯具,⽤来进⾏数据提取、转化、加载,这是⼀种可以存储、查询和分析存储在Hadoop中的⼤规模数据的机制。

hive数据仓库⼯具能将结构化的数据⽂件映射为⼀张数据库表,并提供查询功能,能将转变成任务来执⾏。

Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,⽽不必开发专门的MapReduce应⽤程序。

hive是⼗分适合数据仓库的统计分析和注册表⽂件。

(2)⼤数据计算服务(MaxCompute,原名ODPS)是⼀种快速、完全托管的EB级数据仓库解决⽅案,阿⾥云产品。

MaxCompute致⼒于批量结构化数据的存储和计算,提供海量数据仓库的解决⽅案及分析建模服务。

由于单台服务器的处理能⼒有限,海量数据的分析需要分布式的计算模型。

分布式的计算模型对数据分析⼈员要求较⾼且不易维护。

数据分析⼈员不仅需要了解业务需求,同时还需要熟悉底层分布式计算模型。

MaxCompute为您提供完善的数据导⼊⽅案以及多种经典的分布式计算模型,您可以不必关⼼分布式计算和维护细节,便可轻松完成⼤数据分析。

2、计算模型(1)SQL:传统的数据库软件操作功能。

(2):MaxCompute MapReduce是MaxCompute提供的Java MapReduce编程模型,它可以简化开发流程,更为⾼效。

使⽤MaxCompute MapReduce,需要对分布式计算概念有基本了解,并有相对应的编程经验。

MaxCompute MapReduce为您提供Java编程接⼝。

(3):MaxCompute提供的Graph功能是⼀套⾯向迭代的图计算处理框架。

图计算作业使⽤图进⾏建模,图由点(Vertex)和边(Edge)组成,点和边包含权值(Value)。

数据仓库学习笔记

数据仓库学习笔记

数据仓库工具箱学习笔记数据仓库必备要求:1、数据仓库必须使组织的信息容易存取;2、数据仓库必须一致地展示组织信息;3、数据仓库必须具有广泛的适用性和容易修改;4、数据仓库必须发挥安全堡垒作用保护信息资产;5、数据仓库必须在推进决策上发挥最基本的作用;6、数据仓库被业务群体所接受必须是被认定为成功的;数据仓库是信息技术与业务知识相结合的产物。

数据仓库管理员职责:1、在业务范围、工作职责和计算机性能等方面多为用户考虑;2;确定业务用户在数据仓库帮助下想要做出什么样的决策;3、标定那些使用数据仓库进行效能高而作用大的决策制定的最佳用户;4、寻找潜在的新用户并让他们了解数据仓库;5、选取那些从机构海量数据中挑出的最有效和最富有实际意义的数据子集在数据仓库中展示;6、适应用户对相关处理概况的感性认识,将用户接口和应用做得简单并且模板驱动;7、跨部门一致地标注数据,确保数据是准确的、可信的;8、持续不断地对数据的准确性和提交报告的内容进行监控;9、搜罗新的数据来源,持续不断地调整数据仓库以适应数据概况修改、需求支持和业务优先权的调整等方面的需要;10、抽取一部分在使用数据仓库进行业务决策方面具有良好声誉的实现,并用这些成功的例子就人员、软件和硬件配备与选购是否合理做出评判;11、按通行的方式发布数据;12、维持业务用户的信任;13、让业务用户,经理和老板都感到满意;数据仓库组成:操作型源系统,数据聚集环节,数据展示环节,数据存取工具应该避免的常见失误:1、过多地将心思放在技术和数据上,而不关注业务的要求和目标;2、未能实现或者再现数据仓库主管所具备的看起来有影响、易访问又合乎情理的管理功能梦想而耿耿于怀;3、扭住制定一个庞大的多年工程计划不放,而不是去追求一个更易于处理的可能,也是更急迫的可以进行迭代开发的方案;4、将精力全部投入到构造规范化数据结构中去,而在建造一个基于维度模型的可行的展示环节时,却已经用光了给定的投入;5、把注意力放在了后台的作业性能和容易开发上,而不是放在前台的查询性能和容易使用上;6、吧展示环节假定为可查询的数据做得过于复杂,应该;去建立一个在突出简明性的需要方面更为人们所欣赏的解决方案;7、在孤立应用的基础上建立维度模型,没有考虑采用共享的一致维度将这些模型捆绑在一起的数据体系结构;8、仅仅将总结性的数据加入到展示环节的维度中;9、吧业务、业务需求与分析内容以及基本数据与支持技术等都看成是静态的;10、忽视了数据仓库的成功直接系于用户的接受程度这样的认识;数据仓库建设流程:。

数据仓库ETl工具箱3

数据仓库ETl工具箱3
盖)。这些 SCD 类型将在第五章展开详细探讨。 源数据库:源数据所在的数据库实例的名称。这里通常是指连接数据库所需的连接
字符串。如果出现在文件系统中,它也可以是一个文件的名称。这时,还需要包含 这个文件的路径。 源表名称:源数据所在的源表的名称。很多时候需要多个表。这时,只需将生成目 标数据仓库相关表的所有表简单列出即可。 源列名称:生成目标所需的相关列。简单的列出装载目标列需要的所有列。源列之 间的关联在转换部分记录。 转换:源数据与期望的目标格式对应所需的详细操作。这个部分通常用 SQL 或者 伪代码来编写。 逻辑数据映射中的列有时是组合的。比如,源数据库,表名称和列名称可能被组合在一 个源列中。这个组合列的信息可能用原点来分隔信息,如 ORDERS.STATUS.STATUS_CODE。 如果不考虑格式,这个逻辑数据映射文档的内容已经把进行有效的规划 ETL 过程的所有的 关键的信息都提供了。 逻辑数据映射中的某些部分看起来很简单并且很直接。然而,当仔细研究的时候,该文 档就会揭示许多 ETL 小组可能忽略的隐藏的需求。这个文档的主要的目标是为 ETL 开发者 提供一个清晰的蓝图,它精确的说明可以从 ETL 过程获得什么。这个表必须清晰地描述在 转换过程中包含的动作流程,不能有任何疑问的地方。 看一下图 3.1。
1. 有一个规划。这个 ETL 过程必须用逻辑的和文档化的形式表示出来。逻辑数据映射 由数据仓库架构师提供,并且它是为 ETL 团队创建物理 ETL 作业而制定的。该文档有时会 作为数据流报告。逻辑数据映射是元数据的基础,随后将提交给测试员来保证数据质量,并 且最终将提交给最终用户来详细描述在源系统和数据仓库之间到底做了些什么。
中的 WHERE 子句。在其他时候,转换也可能是一种方法,没有特殊的 SQL,只有普通的 英语说明,比如从一个平面文件进行预加载,或者基于数据库之外的标准进行加载转换,或 者拒绝已知的异常数据到一个拒绝文件中的指导性说明。如果转换是空的,这说明映射是直 接从源到目标的,没有任何转换的需求。

数据》LMS-Tree--数据仓库工具箱 数据挖掘

数据》LMS-Tree--数据仓库工具箱 数据挖掘

1 LSM Tree熟悉读写流程中的写流程,再了解lsm tree就会变得容易很多了。

Log-Structured Merge-Tree中文翻译是日志结构合并树。

那我们就从日志结构与合并树这两个方面来讲。

1.1 日志结构我们知道磁盘随机读写性能是比顺序读写慢至少3个数量级的,日志的特点是它是顺序追加写的,可以保证非常好的写操作性能,但是从日志文件中读一些数据将会比写操作需要更多的时间,需要倒序扫描,直接找到所需的内容。

因此日志适用的场景非常有限:1. 数据是被整体访问,像大部分数据库的WAL(write-ahead log)、HDFS2. 记录了文件明确的偏移量,比如Kafka为了为更复杂的读场景(比如按key或者range)提供高效的性能,人们发明了几种方式:二分查找: 将文件数据有序保存,使用二分查找来完成特定key的查找。

哈希:用哈希将数据分割为不同的bucketB+树:使用B+树或者ISAM 等方法,可以减少外部文件的读取外部文件:将数据保存为日志,并创建一个hash或者查找树映射相应的文件。

所有的方法都可以有效的提高了读操作的性能(最少提供了O(log(n)) ),但是,却丢失了日志文件超好的写性能。

上面这些方法,都强加了总体的结构信息在数据上,数据被按照特定的方式放置,所以可以很快的找到特定的数据,但是却对写操作不友善,让写操作性能下降。

更糟糕的是,当我们需要更新hash或者B+树的结构时,需要同时更新文件系统中特定的部分,这就是上面说的比较慢的随机读写操作。

这种随机的操作要尽量减少。

此时,LSM 被发明了,LSM 使用一种不同于上述四种的方法,保持了日志文件写性能,以及微小的读操作性能损失。

本质上就是通过把随机写的数据写到内存,然后定期flush到磁盘,对于磁盘来说,让所有的操作顺序化,而不是随机读写。

1.2 合并树LSM树原理把一棵大树拆分成N棵小树,它首先写入内存中即是小树,随着小树越来越大,会flush到磁盘中,磁盘中的树定期可以做merge操作,合并成一棵大树,以优化读性能。

数据仓库ETl工具箱6

数据仓库ETl工具箱6

提交事实表事实表装有企业的度量数据。

事实表与度量的关系非常简单。

如果存在一个度量,则它可以被模型化为事实表的行。

如果事实表的行存在,则它就是一个度量。

那么什么是度量呢?一个关于度量通用的定义是:通过工具或比例等级可以测量观察的数量值。

在维度建模时,我们有意识地围绕企业的数字度量创建我们的数据库。

事实表包含度量,维表包含关于度量的上下文。

这种关于事物的简单视图被一次又一次的证明是最终用户直观理解我们的数据仓库的方式。

这也是我们为什么通过维度模型打包和提交数据仓库内容的原因。

流程检查规划与设计:需求/现状 -> 架构 -> 实现 -> 测试/发布数据流:抽取 -> 清洗 -> 规格化 -> 提交第5章描述了如何创建数据仓库的维表。

也许从维表开始介绍会觉得很奇怪,因为度量以及事实表才是最终用户真正想要看的内容,但是维表是事实表数据的入口,事实只有通过维度解释才会变得有意义。

由于第5章详细完整地描述了维,因此本章的内容多少会变得简单一些。

事实表基本结构每一个事实表通过表的粒度来定义。

事实表的粒度是事件度量的定义。

设计者必须至始至终按照度量如何在现实世界中理解来规定事实表的粒度。

例如,图6.1中的事实表的粒度为指定的零售发票上的单个货品。

我们并不从定义这些字段的粒度开始,而是将粒度表示成为维度的外键和事实表的某些字段。

粒度定义必须按照现实的,物理的度量意义来定义,然后才考虑维度和事实表中的其他字段等其他因素。

所有的事实表包含了一组关联到维表的外键,而这些维表提供了事实表度量的上下文。

大多数的事实表还包括了一个或者多个数值型的度量字段,我们称之为事实(Fact)。

请看图6.1。

某些事实表中还包还了一个或者多个特殊的近似维度字段,他们是在第5章中介绍的退化维度(Degenerate Dimensions)。

退化维度存在于事实表,但是他们不是外键,不关联任何真正的维表。

我们在图6.1中使用符号DD来标识退化维度。

《Greenplum构建实时数据仓库实践》读书笔记思维导图PPT模板下载

《Greenplum构建实时数据仓库实践》读书笔记思维导图PPT模板下载
5
3.5 小结
第4章 Greenplum安装部署
0 1
4.1 平台 需求
0 2
4.2 容量 评估
0 3
4.3 操作 系统配置
0 4
4.4 安装 Greenp lum软件
0 6
4.6 允许 客户端连 接
0 5
4.5 初始 化 Greenp lum数据 库系...
4.7 修改 Greenplum配置
0 3
2.3 Data Va u l t 模 型
0 4
2.4 数据 集市
0 6
2.6 小结
0 5
2.5 数据 仓库实施 步骤
第3章 Greenplum与数据仓库
3.1
1
Greenplum
简介
3.2
2
Greenplum
系统架构
3 3.3
Greenplum 功能特性
4 3.4 为什么选
择 Greenplum
读书笔记
最 新


最新版读书笔记,下载可以直接修改
《Greenplum构建实时数据仓库 实践》
PPT书籍导读
读书笔记模板




本书关键字分析思维导图
技术
示例
第章
实时
模型
系统
配置
小结
数据仓库
数据库 功能

数据
监控

维度
特性
装载
事实
01 内容简介
目录
02 推荐序
03 第1章 数据仓库简介 05 第3章 Greenplum
6.1 建立数据 1
仓库示例模型
2
6.2 初始装载

数据仓库理论学习笔记

数据仓库理论学习笔记
– 多种分割的标准
• 日期:最常用的 • 地理位置 • 组织单位…...
PPT文档演模板
数据仓库理论学习笔记
PPT文档演模板
数据仓库理论学习笔记
• 数据仓库中的数据组织形式
– 简单堆积 – 轮转综合
• 数据按一定的格式进行轮转的累加
– 简化直接
• 按一定的时间间隔,对数据进行提取,是操作型数据的 一个快照
• 基于关系数据库的OLAP——ROLAP
– 以二维表与多维联系来表达多维数据(综合数 据)
• 星型结构 • 事实表,存储事实的量及各维的码值(BCNF)
• 维表,对每一个维,至少有一个表用来保存该维 的元数据(多层次、冗余)
• 事实表通过外键与每个维表相联系 • 雪花、星座、雪暴
– 模拟多维方式显示(观察)数据
数据仓库理论学习笔记
PPT文档演模板
2023/6/1
数据仓库理论学习笔记
• 数据库处理的两大应用
– 联机事务处理(OLTP) – 决策支持系统(DSS)
PPT文档演模板
数据仓库理论学习笔记
• 数据库处理的两大应用
– 联机事务处理(OLTP)
• 操作型处理,为企业的特定应用服务
• 是对数据库的联机的日常操作,通常是对 一个或一组记录的查询和修改
– 数据集市(Data Mart)
PPT文档演模板
• 特定的、面向部门的小型数据仓库
• 是为满足用户特定需求而创建的数据仓库
• 是数据仓库的子集
数据仓库理论学习笔记
• 数据库的体系化环境
PPT文档演模板
数据仓库理论学习笔记
• 数据库的体系化环境
PPT文档演模板
数据仓库理论学习笔记

数据》sqoop--数据仓库工具箱 数据挖掘

数据》sqoop--数据仓库工具箱 数据挖掘

一. 课前提示1. 今日任务2. 今日目标2.1了解和熟悉部分2.2掌握部分二. 正课内容1. Sqoop简介以及使用1.1 产生背景1.2 Sqoop是什么Sqoop是一个用于Hadoop和结构化数据存储(如关系型数据库)之间进行高效传输大批量数据的工具。

它包括以下两个方面:可以使用Sqoop将数据从关系型数据库管理系统(如MySQL)导入到Hadoop系统(如HDFS、Hive、HBase)中将数据从Hadoop系统中抽取并导出到关系型数据库(如MySQL)常见数据库开源工具:1.sqoop2.datax3.kettle4.cannal1.3 底层实现原理Sqoop的核心设计思想是利用MapReduce加快数据传输速度。

也就是说Sqoop的导入和导出功能是通过基于Map Task(只有map)的MapReduce作业实现的。

所以它是一种批处理方式进行数据传输,难以实现实时的数据进行导入和导出。

官网介绍:Apache Sqoop(TM) is a tool designed for efficiently transferring bulkdata between Apache Hadoop and structured datastores such as relational databases. Sqoop结构图:1.4 特点优点:它可以将跨平台的数据进行整合。

缺点:它不是很灵活。

主要执行操作tar -zxvf /opt/soft/sqoop... -C /opt/app/sqoop... vi /etc/profilemv ./conf/sqoop-env-template.sh ./conf/sqoop-env.shvi ./conf/sqoop-env.shexportHADOOP_COMMON_HOME =/usr/local/hadoop-2.7.1/ export HADOOP_MAPRED_HOME =/usr/local/hadoop-2.7.1/export HIVE_HOME =/usr/local/hive-1.2.1/export ZOOCFGDIR =/usr/local/zookeeper-3.4.7/cp /home/mysql-connector-java-5.1.18.jar ./lib/sqoop 的重要的几个关键词==import== : 从关系型数据库到hadoop==export== : 从hadoop 到关系型数据库。

数据仓库随笔

数据仓库随笔

在数据仓库的开发过程中,需要熟悉大量的概念以及相关工具的使用,还需要了解宏观上的各种开发流程,串联起来完成最终的数据仓库项目的开发,本篇介绍一些准备工作,包括涉及到的工具介绍,以及开发过程的描述,记录学习研究的印记,并和大家讨论研究存在的相关问题。

数据仓库的开发,是完全独立于OLTP系统的,也就是独立于当前各种应用的业务系统而作的分析项目,因此要包含从数据的迁移(提取)、变换、清洗、加载等ETL操作,其中可以分为这么几个数据层。

源数据层客户的各种业务系统中的数据,如包括企业、车辆和司机信息系统、企业录入数据和及营运等数据,里面存放了大量的事务数据。

ODS数据层数据库用户ODS数据层主要管理把业务数据层的数据存储到ODS数据层,它的数据表主要就是来源于业务数据表,通过一些存储过程把业务数据表结构改变成基层的数据仓库的表结构。

DW数据层数据库用户DW主要管理把ODS数据层的数据存储到DW数据层,它的数据表主要就是来源于ODS数据表,通过一些存储过程把ODS数据表结构改变成项目主题数据仓库的表结构。

DW数据层还管理一些对存储过程的记录表,方便数据仓库的维护和管理。

ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。

常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。

因此操作数据存储(ODS)是用于支持企业日常的全局应用的数据集合,ODS的数据具有面向主题、集成的、可变的和数据是当前的或是接近当前的4个基本特征。

同样也可以看出ODS是介于DB和DW 之间的一种数据存储技术,和原来面向应用的分散的DB相比,ODS中的数据组织方式和数据仓库(DW)一样也是面向主题的和集成的,所以对进入ODS 的数据也象进入数据仓库的数据一样进行集成处理。

另外ODS只是存放当前或接近当前的数据,如果需要的话还可以对ODS中的数据进行增、删和更新等操作,虽然DW中的数据也是面向主题和集成的,但这些数据一般不进行修改,所以ODS和DW的区别主要体现数据的可变性、当前性、稳定性、汇总度上。

关于数据仓库的书

关于数据仓库的书

关于数据仓库的书
在构建或理解数据仓库时,一本好的参考书籍可以为你提供深入、全面的知识。

以下是关于数据仓库的几本经典书籍,每本书都有其独特的观点和深度,有助于你深化对数据仓库的理解和实践。

1、《数据仓库工具箱:维度建模的完全指南》
这本书是数据仓库领域的经典之作,详细介绍了维度建模的基本概念、方法和最佳实践。

它提供了大量的实用案例和练习,使读者能够全面掌握数据仓库设计和构建的技能。

2、《数据仓库原理与实践》
这本书从数据仓库的基本概念讲起,深入探讨了数据仓库的架构、ETL 过程、OLAP 技术等方面的内容。

它不仅涵盖了数据仓库的基础知识,还提供了许多实用的开发工具和技巧。

3、《大数据之路:构建可扩展、可靠的数据仓库》
随着大数据技术的普及,如何构建可扩展、可靠的数据仓库成为了一个重要的问题。

这本书介绍了在大数据环境下,如何设计、构建和管理数据仓库,同时还涉及到了数据清洗、数据安全等方面的内容。

4、《数据仓库与数据挖掘教程》
这本书将数据仓库和数据挖掘两个领域的内容结合起来,系统地介绍了数据仓库和数据挖掘的基本概念、方法和技术。

它还包括了一些实用的案例和实验,可以帮助读者更好地掌握相关技能。

5、《数据仓库设计:最佳实践》
这本书详细介绍了数据仓库设计的最佳实践,包括如何设计高效的数据库结构、如何优化查询性能、如何保证数据质量等方面的内容。

它还提供了一些实用的工具和技巧,可以帮助读者在实际项目中更好地应用数据仓库技术。

这些书籍各有特色,但都是数据仓库领域的经典之作。

如果你希望深入了解数据仓库的各个方面,这些书籍都是非常值得一读的。

数据仓库ETl工具箱5

数据仓库ETl工具箱5

提交维表维表提供了事实表的上下文。

虽然维表通常比事实表小得多,但它却是数据仓库的核心,因为它提供了查看数据的入口。

我们经常说建立数据仓库其实就是建立维度。

因此ETL团队在提交阶段的主要任务就是处理维表和事实表,将最有效的应用方式提交给最终用户。

流程检查规划与设计:需求/现状 -> 架构 -> 实现 -> 测试/发布数据流:抽取 -> 清洗 -> 规格化 -> 提交第5章和第6章是本书的关键章节;详细描述了如何将数据提交给最终用户或分析型应用。

虽然可能在数据结构和提交流程中存在相当多变化,但最终ETL维表的结构相对稳定。

请注意我们坚持设计的高度一致性并不拘泥于一成不变的维度模型,关键在于要有一个可扩展的,可用的,可维护的体系架构。

数据仓库的设计与标准的维度模型之间差异越大,就需要越多的客户化工作。

大多数IT开发人员都能够胜任客户化工作,许多人也从开发中感受了智力挑战。

但是在建立可扩展,可用,可维护的体系架构上,过多的客户化工作却是不可行的。

维度的基础框架物理上所有的维度都应当是图5.1所示组件的最小子集。

主键(Primary Key)是指包含了一个无意义的,唯一标识数字的字段。

我们把这个无意义的数字称为代理(Surrogate)。

数据仓库ETL过程应当常常要创建和插入这些代理键。

换句话说,数据仓库拥有这些代理键值但并不把它赋给任何实体。

图5.1维表的基础结构维度的主键用于连接事实表。

由于所有的事实表都必须保持查找表的参照完整性,因此维表的主键所连接的字段就成为事实表的外键(Foreign Key)。

在第二章的图2.3的保险案例中已有所阐述。

在大多数关系型数据库中维表和事实表通过单一的字段进行连接可以获得最佳的性能。

最后,当外键是数字型的时候事实表是最为紧凑的。

所有维表将其他的一个或多个字段组成维表的自然键(natural key)。

如图5.1所示,ID 和其他的自然键字段组成了NK,自然键并不是无意义的代理键,而是从源系统抽取而来的有意义的字段。

仓储管理读书笔记

仓储管理读书笔记

仓储管理读书笔记最近读了一本关于仓储管理的书,哎呀,真是让我大开眼界!以前我对仓储管理的理解,那就是简单地把东西存起来,保证别丢了就行。

但读了这本书之后,我才发现这里面的门道可多了去了。

先来说说仓储的布局吧。

书里讲了,一个合理的仓储布局就像是给物品们安排了一个舒适的家。

比如说,那些出货频率高的货物,就得放在离门口近的地方,这样能节省不少时间和人力。

这让我想起了我家的衣柜,我常穿的衣服总是放在最容易拿到的地方,不常穿的就被塞到角落里。

这和仓储布局的道理不是一样的嘛!还有货物的存放方式,那也是有讲究的。

不能一股脑地堆在一起,得分类、分层存放。

就像超市里的货架,不同种类的商品都有自己的专属区域。

我想到了有一次去朋友家的仓库帮忙,那里面的东西堆得乱七八糟,找个东西简直就是大海捞针。

我们几个人在里面翻了半天,累得气喘吁吁,最后才发现要找的东西被压在了最下面。

要是他们能提前学学仓储管理的知识,合理存放货物,也不至于这么狼狈。

在仓储管理中,库存控制也是非常重要的一环。

不能进太多货,不然积压在仓库里占地方,还浪费资金;也不能进太少,不然缺货了可就麻烦了。

这让我想起了我开小卖部的舅舅。

有一次他进了一大批某款饮料,结果那段时间大家都不喜欢喝那个口味,饮料都快过期了还没卖出去几瓶。

舅舅那个愁啊,天天盼着有人能多买几瓶。

后来他学聪明了,每次进货前都好好做个市场调研,看看大家最近喜欢啥,需要啥,再也没出现过那种积压库存的情况。

说到这里,我又想起书里提到的仓储安全问题。

这可不仅仅是防火防盗那么简单,还包括货物的稳定性、仓库的通风和防潮等等。

有个案例让我印象特别深刻,说是一家工厂的仓库因为货物堆放过高,结果倒了下来,不仅货物受损,还砸伤了一名工人。

这可真是血的教训啊!这让我想到了我们小区的地下车库,有些业主把东西堆得到处都是,万一发生个火灾啥的,后果不堪设想。

再讲讲货物的出入库管理吧。

每一笔都得记录得清清楚楚,不然就会乱套。

数据仓库-维度处理-读书笔记(四)

数据仓库-维度处理-读书笔记(四)

数据仓库-维度处理-读书笔记(四)一致性维度1,当不同的维度表的属性具有相同的列名和领域内容时候,称为维度具有一致性2,有利于不同事实表的合并到同一报表中去3,在一致性维度的前提下,可以被所有事实表复用4,可以保证分析结果的一致性且减少开销缩减维度场景一:当构建聚集事实表需要缩减上卷维度场景二:商业过程自然的获取粒度级别较高的数据场景三:两个维度具有同样粒度级别的细节数据,但是其中一个仅表示行的部分子集跨表钻取1,当两个表包含相同的一致性属性时候,使不同的查询能够针对两个或者更多的事实表进行查询价值链1,区分与组织中主要业务过程的自然流程。

是对商业活动过程的重新整合和组装。

同一组织下的同一个业务过程,对于不同的角色价值链不同,例如:销售商的价值链包括:购买、库存、零售额等;分类账价值链包括:预算编制、承付款项、付款等。

2,尽量为每个过程至少建立一个原子事实表企业数据仓库总线架构通过关注业务过程将DW/BI规划过程分解为可管理的模块,通过重用跨不同过程的标准化一致性维度发布实现集成企业数据仓库总线矩阵是用于设计并与企业数据仓库总线架构交互的基本工具。

矩阵的行代表业务过程,列表示维度,点表示维度与给定的业务过程是否存在关联关系。

总线矩阵总线矩阵实现细节是一个更加细粒度化的总线矩阵,其中扩展每个业务过程行以展示特定事实。

总线矩阵实现细节机会/利益相关方矩阵用于区分哪些业务过程分组应该与过程中心行相关数据仓库如何处理缓慢变化维度属性SCD全称:Slowly Changing DimensionSCD0:原样保留维度值属性不会发生变化,事实表以原始值分组。

例如:客户的原始的信用卡积分或者持久性标识符如身份证SCD1:重写原来的属性值被新值覆盖。

特点:1,总是反应最近的状态。

此技术破坏了历史情况。

2,易于实现且不需要建立额外的维度行,但是会影响聚集事实或者OLAP多维数据库重新计算SCD2:增加新行在维度表中增加新行,新行采用修改的属性址特点:1,维度表主键更具有一般性,不能是自然键或者是持久键2,增加新行时候,分配一个新的主代理键,作为所有事实表的外键,直到产生新的维度键SCD2缓慢变化维度处理3,通常我们还会有其余的设计方式去处理SCD2,但是图中的方式是管理、操作最简单的方式SCD3:增加新属性在维度上增加新属性以保存原来的值,新属性的变化通过SCD1方式处理增加新列,此种方式不太常用。

学习笔记之数据仓库的各种表

学习笔记之数据仓库的各种表

学习笔记之数据仓库的各种表预热:我们先从⼏个物理概念⼊⼿理解什么是流量,存量,增量(1)存量:系统在某⼀时点时的所保有的数量;(2)流量:是指在某⼀段时间内流⼊/流出系统的数量(3)增量:是指在某⼀段时间内系统中保有数量的变化(4)增量 = 流⼊量--流出量(5)本期期末存量 = 上期期末存量+本期内增量全量表:每天的所有的最新状态的数据全量表没有分区,表中的数据时前⼀天的所有数据,⽐如说今天是24号,那么全量表⾥⾯拥有的数据是23号的所有数据,每次往全量表⾥⾯写数据都会覆盖之前的数据,所以全量表不能记录历史的数据情况,只有截⽌到当前最新的、全量的数据。

(1)全量表,有⽆变化,都要报(2)每次上报的数据都是所有的数据(变化的+没有变化的)快照表那么要能查到历史数据情况⼜该怎么办呢?这个时候快照表就派上⽤途了,快照表是有时间分区的,每个分区⾥⾯的数据都是分区时间对应的前⼀天的所有全量数据,⽐如说当前数据表有3个分区,24号,25号,26号。

其中,24号分区⾥⾯的数据就是从历史到23号的所有数据,25号分区⾥⾯的数据就是从历史到24号的所有的数据,以此类推。

但是这样也有⼀个问题,就是数据量⼤的时候,其实每个分区都存储了许多重复的数据,⾮常的浪费存储空间。

于是乎,拉链表就出来了。

在介绍拉链表之前,我们先介绍⼀下增量表。

增量表:新增数据,增量数据是上次导出之后的新数据增量表,就是记录每天新增数据的表,⽐如说,从24号到25号新增了哪些数据改变了哪些数据,这些都会存储在增量表的25号分区⾥⾯。

上⾯说的快照表的25号分区和24号分区(都是t+1),实际时间分别对应26号和25号),它俩的数据相减就是实际时间25号到26号有变化的、增加的数据,也就相当于增量表⾥⾯25号分区的数据。

(1)记录每次增加的量,⽽不是总量(2)流量是指在⼀定时间内的增量(3)流量⼀般设计成增量表(⽇报-常⽤、⽉报);(4)流量和存量的区别:流量是增量;存量是总量;(5)增量表,只报变化量,⽆变化不⽤报拉链表拉链表,它是⼀种维护历史状态,以及最新状态数据的⼀种表。

DW2.0下一代数据仓库的架构读书笔记

DW2.0下一代数据仓库的架构读书笔记

《DW2.0---下一代数据仓库的架构》读书笔记在公司花了一天时间把这本书翻完了,这本书是PM借我看的,之前一直忙项目,没有时间看,在国庆期间就想把它看完早点还了。

书不厚,才218页,所以比较快的看完了,总算完成了既定目标。

这本书是老外写的,但是翻译的不错。

至少我从头读到尾没感觉很不顺畅的地方。

看封面上写的主要四个人翻译的,看来多点人翻译校对,翻译质量还是能够上去的嘛。

这本书写的挺好,介绍了数据仓库的一些基本知识,虽然多是概念上的东西,没有什么实际案例,但是对于我入门还是挺有帮助的。

书的章节后都会有一个总结,整理的很好,有时候我会先看总结,然后再针对性的看详细内容,这样看起来效率蛮高,效果也不错。

主要内容是介绍了DW2.0只区别于之前的数据仓库的变化,以及DW2.0中采用的一些方案,从数据的生命周期,谈到数据模型,如何应对不断变化的业务需求,ETL在数据仓库中的角色,以及后面的性能,成本考虑以及对非结构化数据的处理。

感觉有些概念是需要记下的,大部分内容就摘录总结的内容了。

DW2.0是新一代数据仓库的构架。

DW2.0和第一代数据仓库有很大的差别。

四个最大的差别如下:1,随着数据进入并存储于数据仓库,产生了对数据生命周期的认识。

2,数据仓库中包含非结构化数据。

3,DW2.0环境包含元数据。

4,DW2.0的技术基础能够随着时间而变化。

DW2.0的四个主要的生命周期区:1,交互区,数据仓库一更新模式在交易响应时间水平下完成构建2,整合去,数据在这里经过整合并完成分析处理3,近线区,作为整合区数据的一个缓存区域4,归档区,存放访问概率显著下降但仍有可能访问的数据以上的四个区,按照数据的时间进行划分,交互区的数据非常新,比如刚2秒的数据。

整合区大概有24小时或一个月之久的数据。

而近线区存放3~4年的数据,作为整合区的一个缓存,如果有些数据不被频繁的访问到,则可能会将数据从整合区放到近线区,反之也有可能移回整合区,在很多方面,近线区就是整合区的延伸,近线区时可选择的,亦即数据不一定需要经过这一区。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据仓库工具箱_读书笔记《数据仓库工具箱—维度建模的完全指南》是数据仓库建模方面的经典著作,1996年第一版出版被认为是数据仓库方面具有里程碑意义的事件。

作者kimballl 是数据仓库方面的权威,他将多年的数据仓库建模实战经验、技巧融入本书。

他提出的许多维度建模概念被广泛应用于数据仓库的设计和开发中。

2002年本书出版了第二版。

这是一部非常好的数据仓库建模的书,前后完整的读了三遍,受益匪浅。

以下笔记将本按四个部分组织:一、数据仓库体系结构和建模过程、技巧。

二、维度表建模技术。

三、事实表建模技术。

四、行业建模经验。

一、数据仓库体系结构和建模过程、技巧关键点:数据仓库体系结构、维度建模的四个步骤、数据仓库总线结构、一致性维度。

1、对于数据仓库来说,业务需求是第一位的。

2、数据仓库的目标:(1)、随心所欲的访问数据。

直观、明显、简单、易用、切割、合并、下钻、上卷。

(2)、一致的展现数据(相对于原来从多个系统中出来的报表不一致)。

(3)、适应性、扩展性、可维护性。

(4)、为领导决策提供支持。

3、数据仓库的组成。

源数据-->数据准备区-->数据仓库(维度建模)-->数-->展现。

其中原系统到数据准备区属于ETL过程。

数据仓库据聚集区(OLAP) 和数据聚集区本书称为数据展示。

展现本书称为数据存取工具。

4、数据仓库应特别注意的几点特点:(1)、数据应该以维度的形式进行展示、存储和访问。

(2)、数据仓库中必须包含详细的原子数据。

(3)、必须采用共同的维度和事实表来建模。

5、数据仓库采用使用维度建模的好处:易理解、查询的高性能、修改的灵活性和可扩充性。

6、维度建模的扩展性。

表现在三个方面:(1)、在现有的事实表中增加维度。

(2)、在事实表中增加事实。

(3)、在维度表中增加属性。

(第一章)7、维度模型设计的四个步骤。

(1)、选取业务(主题)。

(2)、定于业务处理的粒度。

(3)、选择维度。

(4)、选择事实。

8、应优先为模型选择有原子性的信息,因为原子性的数据提供了最大限度的灵活性,可以接受任何可能形式的约束。

(第二章)9、数据仓库总线结构。

实际上是一种增量建模方式,通过一致性维度来集成数据中心。

数据总线矩阵:业务处理、公共维度。

一级数据中心:衍生于单个基本源系统的数据中心,建议从一级数据中心开始建模,因为导致失败的主要风险是ETL。

合并数据中心:合并多个位于不同源系统的一级数据中心。

(第三章)10、维度建模复查。

考虑的问题:粒度,日期维度,退化维度,维度属性采用名称而不是编码,代理关键字,维度的多少。

11、维度建模常犯的错误:(1)、舍弃一致性维度和一致性事实表。

(2)、事实表的粒度不采用原子型。

(3)、基于报表来设计维度表。

(4)、不使用代理关键字。

(5)、忽视维度的变化的需求。

(6)、将体系与体系层次分解成多个维度。

(7)、在维度表中为节省空间而限制使用详细的描述属性。

(8)、在事实表中放置用于约束与分组操作的文本属性。

(第十五章)12、数据仓库成功的五个前提:(1)、拥有精明、强干的业务用户。

用户应该对数据仓库具有独特的见解,坚信数据仓库项目具有实现的价值。

(2)、机构必须存在建立数据仓库坚实而有说服力的业务动机。

(3)、数据仓库的可用性。

(4)、业务用户与IT人员之间的沟通。

(5)、业务分析人员的分析文化,是基于图形、数据还是直觉、传闻和一时冲动。

(第十六章) 二、维度表建模技巧关键点:退化维度、代理关键字、一致性维度、渐变维度、角色模仿、杂项维度、微型维度、深度可变的层次建模方法、审计维度、多值维度解决办法、异构产品解决办法。

1、维度表倾向于将行数做得相当少,而将列数做的特别大。

数据仓库的能力直接与维度表的属性的质量和深度成正比。

、维度的属性采用文字而不是编码。

23、维度表通常是不规范的,几乎总是用空间换取简明性和可访问性。

(第一章)4、日期维度,应包含星期、周末指示符、月末指示符、节假日指示符、重大事件、财政时间等。

5、如果需要处理一天中不同时间,则增加一个时间维度。

6、一个维度包含多个体系(层次),每个层次包含若干级别。

7、退化维度。

一方面可以通过退化维度对数据进行分组,另一方面可以使用退化维度关联到源数据上,有利于ETL更新及排错。

8、一般情况维度个数应该控制在15个以内,唯独过多影响查询性能和磁盘空间。

一些小维度可以进行组合,这取决于具体的业务。

9、代理关键字。

使用代理关键字的优点:能实现渐变维度;获得性能上的优势,节省事实表空间;可以记录没有操作源码的数据(ETL过程生成);处理关键字段的修改、删除等。

(第二章)10、一致性维度。

具有一致性的维度关键字,以致的属性名称,以致的属性定义,一致的属性值。

一致性维度对于设计可以进行集成的数据中心来说,具有绝对的决定性作用。

(第三章)11、渐变维度。

渐变维度的处理办法。

类型1:改写属性值;类型2:添加维度行;类型3:添加维度列。

第二种类型最常用。

12、快变维度的处理办法:将这些迅速变化的属性分裂成一个或者多个单独的维度。

(第四章)13、维度的角色模仿。

在同一个维度表上通过视图的形式建立多个维度。

在实际运用中,很多OLAP工具都支持在同一个维度表上建多个维度,而并不需要建立视图。

14、实体之间存在固定的,不随时间变化的,强烈相关的关系时,显然应该将它们当作单一维度进行建模。

15、杂项维度。

将标志与指标符从设计中剥离出来,将其封装成一个或者多个杂项维度。

(第五章)16、将聚集事实放入维度表的优缺点。

优点:查询时可以对聚集属性进行约束。

缺点:ETL过程变麻烦了。

17、雪花模型的使用场合:粒度悬殊,节省空间(属性众多)。

18、宽度变化的属性集的处理办法:拆分成两个维度。

Oracle数据库不存在这个问题。

19、采用类型2的方式处理维度慢性变化时,应该注意避免计数过度。

20、深化不变的体系结构(层次、级别)。

一个层次建立单独的字段。

如果某一个级别没有值,就应该用较低级别的属性覆盖该值。

21、深度可变的体系结构。

使用桥接标来解决。

父到子的每一条路径都包含一行记录,到其自身长度为0的路径包含一行。

实际上是把循环递归的过程通过表数据的形式实现。

大量olap工具以提供了对小于64000个成员的中小尺寸维度中这些体系进行导航操作得更加强劲的内置功能支持。

(第六章)22、依照十五描述内容在每行加入生效和截止日期标记,可以将类型2渐变维度设计方案修改为允许自然的对维度在时间上进行非常精细的切割。

23、审计维度。

源系统的情况;抽取软件的版本;抽取记录数;开始时间;完成时间等。

24、维度的属性数量不确定时,使用关键词支架维度。

相当于将横表设计成纵表。

使用union和intersect命令解决SQL跨行约束问题。

(第八章)25、维度类型:因果维度、多日期或时间标记维度、退化维度、角色模仿维度、状态维度、审计维度、杂项维度。

26、多值维度。

概念:一个账户拥有多个客户,一个客户也可能拥有多个账户。

解决办法:桥接表。

27、异构产品方案。

概念:每种产品类型都有大量的专用属性与度量事实不能为其他产品所用。

解决方案:核心维度,定制维度,使用相同的代理关键字。

采用支架结构。

(第九章)28、日期维度。

国别历法的处理办法,做成日期维度的支架。

29、多个时区日期的处理办法,增加维度。

(第十章)30、多值维度解决方案。

所谓多值维度是指一个事实表对应多个值的维度,比如,住院结算事实表拥有多个疾病。

通过组桥表来实现。

组桥表可以增加起止时间来满足住院渐变维度。

可以增加加权因子来实现财务报表关于疾病的分类统计。

31、稀疏事实表的解决方案。

事实维度表。

实际上是纵表和横表的设计思想。

优点:灵活、结构简单、节省空间。

缺点:生成查询、报表复杂、行间计算困难。

32、迟到维度行的处理办法。

所谓迟到维度是指某项属性到当前时间才知道其以前的值。

通过渐变维度(类型2)的方法处理,在维度表中增加记录并修改其他型的起止时间,在事实表中修改该维度的代理关键字。

(第十三章)三、事实表建模技术1、事实表中的事实分为三种类型:可加性事实,半可加性事实,非可加性事实。

2、事实表的三种粒度:事务,周期快照,累计快照。

3、事实表倾向于具有更多的行和更少的列。

4、事实表的主键应采用复合主键,引入唯一的rowid关键字作为主键字并无什么优点可言。

(第一章)5、明显属于不同粒度的事实必须放在单独的事实表中。

6、将可计算得值作为事实的原因:消除用户出错的可能性,一致的引用它。

例如,利润=销售额-成本额,将利润作为一个事实而不是通过展现工具进行计算得到。

7、非可加性的数据项尽量不要放到事实表中。

例如,毛利润率是非可加性数据,不应该保存在事实表中,应保存分子和分母,再通过前端展现工具进行计算得到。

8、非事实型事实表。

解答什么促销产品没有卖出去的问题。

建立一张非事实型事实表,促销产品(周期快照)中每个商场的每隔促销产品每天创建一行。

再关联销售事实表来解决什么产品没有卖出去这个问题。

9、事实表的粒度很关键,决定了维度模型的扩展性。

过早汇总或者聚集处理必然限制对维度的增补。

10、半可加性事实。

对特定的维度具有可加性,对其他维度不具有可加性。

11、周期快照事实表是最常见的库存设计方案。

12、一致性事实。

一致的事实定义,一致的测量单位。

(第三章)13、使用单个事实表(通过增加事务类型维度)还是多个事实表的选择:(1)、业务需求(目标是降低复杂度,用最有效的形式将数据展示给用户)。

(2)、业务处理的关联性。

(3)、源系统。

(4)、维度是否完全一致。

(第四章)14、事实表的规范化。

纵表和横表的设计方式。

优缺点。

事实设置显得比较稀疏并且不在事实之间运算的情形是有用的。

15、不同粒度事实的处理办法。

例如,订货系统中的订货分列项事实表(基于产品)与装运费(基于订单)。

两种处理方式:(1)、分配到细节层次(装运费à产品)。

(2)、建立两个事实表。

优先采用第一种方式。

16、累计快照。

采用对整个订单处理流程的分析感性趣,他们想了解产品的移动速度,累计快照很好的体现这种业务情景。

适用:具有明确起止时间的短期处理应用。

17、多个计量单位的处理办法。

将转移因子写入事实表。

18、三种事实粒度的比较:(第五章)时间段粒度加载更新日期维度事实每个事务事务活事务时间点插入不事务日期一行动周期时间段终间隔事规律间隔每段一行插入不快照止日期务累计不确定跨度,每个生命插入行为发生关键环节生命周快照一般短期期一行更新时更新多日期期性能19、至今为止事实:应该计算出来,而不是保存在事实表中。

数字型事实必须与粒度保持一致。

20、事实的变化通过增加一行冲减记录,而不是通过修改原事实数据。

21、事实的自由分段。

通过分段定义表连接到事实表上,来灵活划分和定义分段。

相关文档
最新文档