一.周期快照简介 周期快照事实表中的每行汇总了发生在某一标准周期,如一天.一周或一月的多个度量.其粒度是周期性的时间段,而不是单个事务.周期快照事实表通常包含许多数据的总计,因为任何与事实表时间范围一致的记录都会被包含在内.在这些事实表中,外键的密度是均匀的,因为即使周期内没有活动发生,通常也会在事实表中为每个维度插入包含0或空值的行.        周期快照是在一个给定的时间对事实表进行一段时期的总计.有些数据仓库用户,尤其是业务管理者或者运营部门,经常要看某个特定时间点的汇总数据.下面在示例…
一.迟到的事实简介 数据仓库通常建立于一种理想的假设情况下,这就是数据仓库的度量(事实记录)与度量的环境(维度记录)同时出现在数据仓库中.当同时拥有事实记录和正确的当前维度行时,就能够从容地首先维护维度键,然后在对应的事实表行中使用这些最新的键.然而,各种各样的原因会导致需要ETL系统处理迟到的事实数据.例如,某些线下的业务,数据进入操作型系统的时间会滞后于事务发生的时间.再或者出现某些极端情况,如源数据库系统出现故障,直到恢复后才能补上故障期间产生的数据.        在销售订单示例中,晚于…
一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允许以一种称为多维数据集的结构,访问业务数据源经过聚合和组织整理后的数据.以此为标准,OLAP作为单独的一类技术同联机事务处理(On-Line Transaction Processing,OLTP)得以明显区分.        在计算领域,OLAP是一种快速应答多维分析查询的方法,也是商业智能的一个…
累积度量指的是聚合从序列内第一个元素到当前元素的数据,例如统计从每年的一月到当前月份的累积销售额.本篇说明如何在销售订单示例中实现累积月销售数量和金额,并对数据仓库模式.初始装载.定期装载做相应地修改.累积度量是半可加的,而且它的初始装载要复杂一些. 一.建立累积度量事实表 执行下面的脚本创建month_end_balance_fact事实表,用来存储销售订单金额和数量的月累积值. set search_path=tds; create table month_end_balance_fact…
一.无事实事实表简介 在多维数据仓库建模中,有一种事实表叫做"无事实的事实表".普通事实表中,通常会保存若干维度外键和多个数字型度量,度量是事实表的关键所在.然而在无事实的事实表中没有这些度量值,只有多个维度外键.表面上看,无事实事实表是没有意义的,因为作为事实表,毕竟最重要的就是度量.但在数据仓库中,这类事实表有其特殊用途.无事实的事实表通常用来跟踪某种事件或者说明某些活动的范围.        无事实的事实表可以用来跟踪事件的发生.例如,在给定的某一天中发生的学生参加课程的事件,可…
一.累积快照简介 累积快照事实表用于定义业务过程开始.结束以及期间的可区分的里程碑事件.通常在此类事实表中针对过程中的关键步骤都包含日期外键,并包含每个步骤的度量,这些度量的产生一般都会滞后于数据行的创建时间.累积快照事实表中的一行,对应某一具体业务的多个状态.例如,当订单产生时会插入一行.当该订单的状态改变时,累积事实表行被访问并修改.这种对累积快照事实表行的一致性修改在三种类型的事实表(事务.周期快照.累积快照)中具有独特性,对于前面两类事实表只追加数据,不会对已经存在的行进行更新操作.除了…
单个物理维度可以被事实表多次引用,每个引用连接逻辑上存在差异的角色维度.例如,事实表可以有多个日期,每个日期通过外键引用不同的日期维度,原则上每个外键表示不同的日期维度视图,这样引用具有不同的含义.这些不同的维度视图具有唯一的代理键列名,被称为角色,相关维度被称为角色扮演维度.        当一个事实表多次引用一个维度表时会用到角色扮演维度.例如,一个销售订单有一个是订单日期,还有一个请求交付日期,这时就需要引用日期维度表两次.        我们期望在每个事实表中设置日期维度,因为总是希望按…
一.什么是杂项维度 简单地说,杂项维度就是一种包含的数据具有很少可能值的维度.事务型商业过程通常产生一系列混杂的.低基数的标志位或状态信息.与其为每个标志或属性定义不同的维度,不如建立单独的将不同维度合并到一起的杂项维度.这些维度,通常在一个模式中标记为事务型概要维度,一般不需要所有属性可能值的笛卡尔积,但应该至少包含实际发生在源数据中的组合值.        例如,在销售订单中,可能存在有很多离散数据(yes-no这种开关类型的值),如: verification_ind(如果订单已经被审核,…
退化维度技术减少维度的数量,简化维度数据仓库模式.简单的模式比复杂的更容易理解,也有更好的查询性能.        有时,维度表中除了业务主键外没有其它内容.例如,在本销售订单示例中,订单维度表除了订单号,没有任何其它属性,而订单号是事务表的主键,这种维度就是退化维度.业务系统中的主键通常是不允许修改的.销售订单只能新增,不能修改已经存在的订单号,也不会删除订单记录.因此订单维度表也不会有历史数据版本问题.退化维度常见于事务和累计快照事实表中.        销售订单事实表中的每行记录都包括作为…
有些需求不需要最细节的数据.例如更想要某个月的销售汇总,而不是某天的数据.再比如相对于全部的销售数据,可能对某些特定状态的数据更感兴趣等.此时事实数据需要关联到特定的维度,这些特定维度包含在从细节维度选择的行中,所以叫维度子集.维度子集比细节维度的数据少,因此更易使用,查询也更快.        有时称细节维度为基本维度,维度子集为子维度,基本维度表与子维度表具有相同的属性或内容,称这样的维度表具有一致性.一致的维度具有一致的维度关键字.一致的属性列名字.一致的属性定义以及一致的属性值.如果属性…
一.分段维度简介 在客户维度中,最具有分析价值的属性就是各种分类,这些属性的变化范围比较大.对某个个体客户来说,可能的分类属性包括:性别.年龄.民族.职业.收入和状态,例如,新客户.活跃客户.不活跃客户.已流失客户等.在这些分类属性中,有一些能够定义成包含连续值的分段,例如年龄和收入这种数值型的属性,天然就可以分成连续的数值区间,而象状态这种描述性的属性,可能需要用户根据自己的实际业务仔细定义,通常定义的根据是某种可度量的数值.        组织还可能使用为其客户打分的方法刻画客户行为.分段维…
有一种合并维度的情况,就是本来属性相同的维度,因为某种原因被设计成重复的维度属性.例如,在销售订单示例中,随着数据仓库中维度的增加,我们会发现有些通用的数据存在于多个维度中.客户维度的客户地址相关信息.送货地址相关信息里都有邮编.城市和省份.下面说明如何把客户维度里的两个邮编相关信息合并到一个新的维度中. 一.修改数据仓库表结构 为了合并维度,需要改变数据仓库表结构.图1显示了修改后的结构.新增了一个zip_code_dim邮编信息维度表,sales_order_fact事实表的结构也做了相应的…
一.层次维度简介 大多数维度都具有一个或多个层次.例如,示例数据仓库中的日期维度就有一个四级层次:年.季度.月和日.这些级别用date_dim表里的列表示.日期维度是一个单路径层次,因为除了年-季度-月-日这条路径外,它没有任何其它层次.为了识别数据仓库里一个维度的层次,首先要理解维度中列的含义,然后识别两个或多个列是否具有相同的主题.例如,年.季度.月和日具有相同的主题,因为它们都是关于日期的.具有相同主题的列形成一个组,组中的一列必须包含至少一个组内的其它成员(除了最低级别的列),如在前面提…
本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大. 但数据保留下来并不代表它真的具有利用价值,曾经保存的几TB的日志,要么用来做做最简单的加减乘除统计,要么就在日后出现问题了,扒出日志堆找证据.你的影视库里面可以下载储存成千上万部影片,但不代表你真的能全部看完. 如何将手里现有的数据变得更具有价值?一些营销云已经可以做到毫秒级响应做到精准投放广告…
一.HAWQ中的分区表        与大多数关系数据库一样,HAWQ也支持分区表.这里所说的分区表是指HAWQ的内部分区表,外部分区表在后面“外部数据”篇讨论.在数据仓库应用中,事 实表通常有非常多的记录,分区可以将这样的大表在逻辑上分为小的.更易管理的数据片段.HAWQ的优化器支持分区消除以提高查询性能.只要查询条件中可以 使用分区键作为过滤条件,那么HAWQ只需要扫描满足查询条件的分区,而不必进行全表扫描.        分区并不改变表数据在segment间的物理分布.表的分布是物理的,无…
前几天建了一个数据仓库方向的小群,收集了大家的一些问题,其中有个问题,一哥很想去谈一谈--现在做传统数仓,如何快速转到大数据数据呢?其实一哥知道的很多同事都是从传统数据仓库转到大数据的,今天就结合身边的同事经历来一起分享一下. 数据仓库 数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果.也就是说,数据仓库汇总有可能有很多维度数据的统计分析结果,取百家之长(各个数据源的数据),…
1. 什么是ETL,ETL都是怎么实现的? ETL中文全称为:抽取.转换.加载  extract   transform  load ETL是传数仓开发中的一个重要环节.它指的是,ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或数据集市中,成为联机分析处理.数据挖掘的基础. ETL是数据仓库中的非常重要的一环.它是承前启后的必要一步 在传统数仓领域中,这项工序,大部分公司都是通过使用一些成熟的ETL软件来实现的,这些软件…
[摘要] CarbonData将存储和计算逻辑分离,通过索引技术让存储和计算物理上更接近,提升CPU和IO效率,实现超高性能的大数据分析.以CarbonData为融合数仓的大数据解决方案,为金融转型打造新一代数仓引擎. 金融领域随着数据与日俱增(如国内某大行,平均3亿笔业务/天,峰值6亿/天):业务驱动下的数据分析灵活性要求越来越高,不同业务的数据分系统构建,导致冗余严重,缺乏高效.统一的融合数仓,阻碍企业快速转型.如何对浪涌式的数据进行整合分析,发挥最大价值,金融机构对数据的处理提出了相应诉求…
数仓建模首推书籍<数据仓库工具箱:维度建模权威指南>,本篇文章参考此书而作.文章首发公众号:五分钟学大数据,公众号中发送"维度建模"即可获取此书籍第三版电子书 先来介绍下此书,此书是基于作者 60 多年的实际业务环境而总结的经验及教训,为读者提供正式的维度设计和开发技术.面向数仓和BI设计人员,书中涉及到的内容非常广泛,围绕一系列的商业场景或案例研究进行组织.强烈建议买一本实体书研究,反复通读全书至少三遍以上,你的技术将会有质的飞跃. 数仓工具箱 因为本文是纯理论知识,密密…
企业级数仓架构设计与选型的时候需要从开发的便利性.生态.解耦程度.性能. 安全这几个纬度思考.本文作者:惊帆 来自于数据平台 EMR 团队 前言 Apache Hive 经过多年的发展,目前基本已经成了业界构建超大规模数据仓库的事实标准和数据处理工具,Hive 已经不单单是一个技术组件,而是一种设计理念.Hive 有 JDBC 客户端,支持标准 JDBC 接口访问的 HiveServer2 服务器,管理元数据服务的 Hive Metastore,以及任务以 MapReduce 分布式任务运行在…
今天是我在上海租房的小区被封的第三天,由于我的大意,没有屯吃的,外卖今天完全点不到了,中午的时候我找到了一包快过期的肉松饼,才补充了1000焦耳的能量.但是中午去做核酸的时候,我感觉走路有点不稳,我看到大白的棉签深入我的嘴里,我竟然以为是吃的,差点咬住了,还好我有仅存的一点意识.下午我收到女朋友给我点的外卖--面包(我不知道她是怎么点到的外卖,我很感动),很精致的面包,搁平时我基本不喜欢吃面包,但是已经到了这个份上,我大口吃起来,竟然觉得这是世界上最好吃的食物了.明天早晨5:50的闹钟,去叮咚和…
数据仓库主要有四种架构,Kimball的DW/BI架构.独立数据集市架构.辐射状企业信息工厂Inmon架构.混合Inmon与Kimball架构.不过不管是那种架构,基本上都会使用到维度建模. <b>Kimball的DW/BI架构</b>,可以参考这篇文章 数据仓库(4)基于维度建模的KimBall架构. <b>独立数据集市架构</b>,采用这种架构的数据仓库,数据以部门为基础来部署,不考虑企业级别的信息共享和集成.也就是各个部门各自按照需要,各自在数据源同步…
[点击了解更多大数据知识] 市场的变幻,政策的完善,技术的革新--种种因素让我们面对太多的挑战,这仍需我们不断探索.克服. 今年,网易数帆将持续推出新栏目「金融专家说」「技术专家说」「产品专家说」等,聚集数帆及合作伙伴的数字化转型专家天团,聚焦大数据.云原生.人工智能等科创领域,带来深度技术解读及其在各行业落地应用等一系列知识分享,为企业数字化转型成功提供有价值的参考. 今天由网易数帆大数据离线技术专家尤夕多带来能帮助标准化企业级离线数仓优化存储,提高性能,且已在网易内部实践验证过的成熟技术方案…
电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金额 order_status 订单状态 user_id 用户id payment_way 支付方式 out_trade_no 支付流水号 create_time 创建时间 operate_time 操作时间 订单详情表:(order_detail) order_detail.order_id 是要一…
声明 本文中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导. 参考文献 <大数据之路——阿里巴巴大数据实践>——阿里巴巴数据技术及产品部 著. 背景及目的 数据对一个企业来说已经是一项重要的资产,既然是资产,肯定需要管理.随着业务的增加,数据的应用越来越多,企业在创建的数仓过程中对数据的管理也提出了更高的要求,而数据质量也是数仓建设过程不容忽视的环节.本文针对MaxCompute数仓建设过程中如何做数据质量给出规范建议,为实际数据治理提供依据及指导. 数据质量保障原则 评估数据质量…
本文目录: 一.数据流向 二.应用示例 三.何为数仓DW 四.为何要分层 五.数据分层 六.数据集市 七.问题总结 导读 数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需要横向的数仓分层规范.本文作者围绕企业数仓分层展开分析,希望对你有帮助. 因文章太长,本文不是完结版,文末可获取完整PDF版 从事数仓相关工作的人员都知道数仓模型设计的首要工作之一就是进行模型分层,可见模型分层在模型设计过程中的重要性,确实优秀的分层设计是一个数仓项目能否建设成功的核心要素,让数据易…
摘要:我是管理员账号,怎么还没有权限?当小伙伴询问的时候,我第一时间就会想到都是用户同名Schema惹的祸 本文分享自华为云社区<你应该知道的数仓安全--都是同名Schema惹的祸>,作者: zhangkunhn . 典型场景 经常遇到小伙伴问到: 我是管理员账号,怎么还没有权限? 管理员给我赋权了啊,怎么还没有权限? 当小伙伴询问的时候,我第一时间就会想到都是用户同名Schema惹的祸. 同名Schema是私有Schema 我们知道,CREATE USER语法在创建用户的同时会在当前数据库中…
前言:未来的时代将由数据勾画,未来的BI将是自助BI的时代 随着数据爆发式增长,像ERP.OA.CRM等系统在企业运用的越来越多.这些系统的使用必然会产生很多的数据,比如在产品加工设计测试维护过程中产生的主数据:在生产采购库存以及电子商务运营过程中产生数据:通过互联网等渠道获得行业.市场以及竞争对手的数据.随着大数据的到来,企业在数据分析展现层面,面临着四大重要问题. 第一.运用什么工具来分析数据.提取信息. 第二.怎样改变技术不懂业务.业务不懂数据的"困境". 第三.如何解决大数据量…
atitit.标准时间格式 互相转换 秒数 最佳实践 例如00:01:19 转换为秒数  79,,and互相转换 一个思路是使用div 60 mod...不过麻烦的... 更好的方法是使用stamp ... 前台添加个日期,使用时间戳来计算... 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com 转载请注明来源: http://blog.csdn.net/attilax public static void main(String[] args) t…
atitit.标准时间格式 相互转换 秒数 最佳实践 例如00:01:19 转换为秒数  79,,and互相转换 一个思路是使用div 60 mod...只是麻烦的... 更好的方法是使用stamp ... 前台加入个日期,使用时间戳来计算... 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com 转载请注明来源: http://blog.csdn.net/attilax public static void main(String[] args) t…