数据仓库

BI(Business Intelligence)

限于喜欢 提交于 2020-03-09 12:26:34
转自:http://www.cnblogs.com/jiesin/archive/2008/06/23/1227694.html 谈谈对BI的理解,杜绝“假”“大”“空”的言辞,从BI的定义、基本技术、专业名词、实例应用及扩展等方面进行重新描述,巩固对BI的理解。 一、BI的定义 BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。用图解的方式可以理解为下图: 图(1) 这样不难看出,传统的交易系统完成的是Business到Data的过程,而BI要做的事情是在Data的基础上,让Data产生价值,这个产生价值的过程就是Business Intelligence analyse的过程。 如何实现Business Intelligence analyse的过程,从技术角度来说,是一个复杂的技术集合,它包含ETL、DW、OLAP、DM等多环节,基本过程可用下图描述。 图(2) 上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化

数据仓库分层DWD、DWB、DWS

牧云@^-^@ 提交于 2020-03-08 22:04:45
DW :data warehouse 翻译成数据仓库 DW数据分层,由下到上为 DWD,DWB,DWS DWD:data warehouse detail 细节数据层,有的也称为 ODS层,是业务层与数据仓库的隔离层 DWB:data warehouse base 基础数据层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。 DWS:data warehouse service 服务数据层,基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。 来源: CSDN 作者: Akari0216 链接: https://blog.csdn.net/Akari0216/article/details/104740478

数据仓库中历史拉链表的更新方法

柔情痞子 提交于 2020-03-04 07:48:18
使用这种方式即可以记录历史,而且最大程度的节省存储。这里简单介绍一下这种历史拉链表的更新方法。 本文中假设: 数据仓库中订单历史表的刷新频率为一天,当天更新前一天的增量数据; 如果一个订单在一天内有多次状态变化,则只会记录最后一个状态的历史; 订单状态包括三个:创建、支付、完成; 创建时间和修改时间只取到天,如果源订单表中没有状态修改时间,那么抽取增量就比较麻烦,需要有个机制来确保能抽取到每天的增量数据; 本文中的表和SQL都使用Hive的HQL语法; 源系统中订单表结构为: CREATE TABLE orders ( orderid INT, createtime STRING, modifiedtime STRING, status STRING ) stored AS textfile; 7.在数据仓库的ODS层,有一张订单的增量数据表,按天分区,存放每天的增量数据: CREATE TABLE t_ods_orders_inc ( orderid INT, createtime STRING, modifiedtime STRING, status STRING ) PARTITIONED BY (day STRING) stored AS textfile; 8. 在数据仓库的DW层,有一张订单的历史数据拉链表,存放订单的历史状态数据: CREATE TABLE t_dw

数据仓库设计规范

淺唱寂寞╮ 提交于 2020-03-02 10:15:05
为了解决数据仓库建设过程中出现的各种痛点,我们从模型与规范两个方面进行建设,并提出设计统一归口。 1. 模型 规范化模型分层、数据流向,从而降低研发成本,增强指标复用性,并提高业务的支撑能力。 1.1. 模型分层 为了保证数据层的稳定又要屏蔽对下游的影响,并且要避免链路过长,我们将分层进行统一定义为四层: ODS(Operational Data Store):定义为存储层,仅以技术手段(存储快照形式)保留历史数据,不作任何转换,与业务侧db实体保持同构。 DWD(Data Warehouse Detail):定义为明细层,对数据进行规范化(编码转换、清洗、统一格式、脱敏等),不做横向整合。 DWB(Data Warehouse Basic):定义为汇聚层,集中建设通用性维度和指标,降低业务需求开发成本。 DWS(Data Warehouse Service):定义为主题宽表层,对DWD、DWB各信息进行联合整合。 APP:定义为应用层,面向业务需求进行定制开发。 DIM(Dictionary Data Layer):定义为维度表。 TMP:定义为中间层临时表(建议在一定的周期内删除)。 BAK:定义为备份表。 1.2. 模型数据流向 稳定业务按照标准的数据流向进行开发,即ODS–>DWD–>DWB–>DWS–>APP或者ODS–>DWD–>DWB–>APP。

python爬虫面试宝典(常见问题)

一世执手 提交于 2020-03-01 01:43:29
这篇文章主要介绍了python爬虫面试宝典及常见问题小结,需要的朋友可以参考下 是否了解线程的同步和异步? 线程同步:多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低 线程异步:在访问资源时在空闲等待时同时访问其他资源,实现多线程机制 是否了解网络的同步和异步? 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 链表和顺序表储存时各自有什么优点? 1.顺序表存储 原理:顺序表存储是将数据元素放到一块连续的内存存储空间,存取效率高,速度快。但是不可以动态增加长度 优点:存取速度高效,通过下标来直接存储 缺点:1.插入和删除比较慢,2.不可以增长长度 比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序 2.链表存储 原理:链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题 优点:插入和删除速度快,保留原有的物理顺序,比如:插入或者删除一个元素时,只需要改变指针指向即可 缺点:查找速度慢,因为查找时,需要循环链表访问 使用redis搭建分布式系统时如何处理网络延迟和网络异常? 由于网络异常的存在,分布式系统中请求结果存在“三态”的概念,即三种状态:“成功”、“失败”、“超时(未知)” 当出现“超时

数据仓库和数据库的区别

こ雲淡風輕ζ 提交于 2020-02-29 20:42:11
数据库与数据仓库的区别 数据库与数据仓库的区别实际讲的是 OLTP 与 OLAP 的区别。 操作型处理,叫联机事务处理 OLTP(On-Line Transaction Processing,),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。 分析型处理,叫联机分析处理 OLAP(On-Line Analytical Processing)一般针对某些主题的历史数据进行分析,支持管理决策。 首先要明白,数据仓库的出现,并不是要取代数据库。 数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储业务数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可,符合业务应用,但是不符合分析。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。 以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记账。数据仓库是分析系统的数据平台,它从事务系统获取数据

数据仓库的基本特征

不打扰是莪最后的温柔 提交于 2020-02-29 16:40:31
什么是数仓 基本概念 英文名称为Data Warehouse,可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。它出于分析性报告和决策支持目的而创建。 数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因 主要特征 数据仓库是面向主题的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant )数据集合,用以支持管理决策。 面向主题 传统数据库中,最大的特点是面向应用进行数据的组织,各个业务系统可能是相互分离的。而数据仓库则是面向主题的。主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。操作型处理(传统数据)对数据的划分并不适用于决策分析。而基于主题组织的数据则不同,它们被划分为各自独立的领域,每个领域有各自的逻辑内涵但互不交叉,在抽象层次上对数据进行完整、一致和准确的描述。一些主题相关的数据通常分布在多个操作型系统中。 集成性 通过对分散、独立、异构的数据库数据进行抽取、清理、转换和汇总便得到了数据仓库的数据

全球云端数据仓库领导者 MaxCompute 将于本月10日正式开服美东节点

流过昼夜 提交于 2020-02-29 11:17:48
摘要: 作为全球云端数据仓库的领导者,阿里云MaxCompute为满足更多客户的业务需求,不断加快全球化部署的节奏。本月10日,美东(弗吉尼亚)节点会正式上线。届时,将会以最新版本产品向用户提供大数据计算资源和能力 作为全球云端数据仓库的领导者,阿里云 MaxCompute 为满足更多客户的业务需求,不断加快全球化部署的节奏。本月10日,美东(弗吉尼亚)节点会正式上线。届时,将会以最新版本产品向用户提供大数据计算资源和能力。 据参考消息网3月19日报道,全球权威调研机构佛瑞斯特研究公司(Forrester)发布《2018年一季度云端数据仓库》报告。报告对大数据服务商的主要功能、区域表现、细分市场和典型客户等进行了全面评估,最终AWS、阿里云、谷歌、微软四大巨头杀入全球一线阵营。阿里云成为唯一入选的中国科技公司,MaxCompute作为本次入选的中国产品,Forrester在报告中对其进行了详细分析,MaxCompute在产品成熟度、产品功能、性能、全球化进展、开发效率、技术领先性以及安全、数据建模、治理、集成方面均表现出明显的优势。 美东(弗吉尼亚)节点开服将使得MaxCompute全球公共云服务节点达到14个,辐射中国大陆的华南、华东、华北、以及香港、新加坡、日本、迪拜、欧洲、美国西部、美国东部、澳大利亚、印尼、印度全球 14个区域,将百万级服务器连成一台超级计算机

数据仓库分层架构

假如想象 提交于 2020-02-28 10:39:33
在一篇博客看见了有关数据仓库分层的内容, 概括如下: 复制层(SSA,system-of-records-staging-area) SSA 直接复制源系统的数据,尽量保持业务数据的原貌;与源系统数据唯一不同的是,SSA 中的数据在源系统数据的基础上加入了时间戳的信息,形成了多个版本的历史数据信息。 原子层(SOR,system-of-record) SOR 是基于模型开发的一套符合 3NF 范式规则的表结构,它存储了数据仓库内最细层次的数据,并按照不同的主题域对数据分类存储;比如高校数据统计服务平台根据目前部分需求将全校数据在 SOR 层中按人事、学生、教学、科研四大主题存储;SOR 是整个数据仓库的核心和基础,在设计过程中应具有足够的灵活性,以能应对添加更多的数据源、支持更多的分析需求,同时能够支持进一步的升级和更新. 3 .汇总层(SMA,summary-area) SMA 是 SOR和DM(集市层) 的中间过渡,由于 SOR 是高度规范化数据,此要完成一个查询需要大量的关联工作,同时DM 中的数据粒度往往要比 SOR 高很多,对要生DM 中的汇总数据需要进行大量的汇总工作,此,SMA 根据需求把 SOR 数据进行适度的反范(例如,设计宽表结构将人员信息、干部信息等多表的数据合并起来)和汇总(例如,一些常用的头汇总、机构汇总等);从而提高数据仓库查询性能。 4.集市层/展现层

管理信息系统(四)

为君一笑 提交于 2020-02-28 00:30:19
中国大学MOOC同济大学 管理信息系统第四章笔记 数据库与数据仓库 4.1数据库概述 4.2数据模型 4.3数据仓库概述 数据库与数据仓库 4.1数据库概述 4.1.1数据库概念 数据怎么来存储呢? 数据库的概念 数据库技术产生于1960s末,在这之前,人们是通过一个一个数据文件的方式来管理数据的数据库的出现极大地促进了计算机应用向各行各业的渗透。 什么是数据库 ●数据库中存储的是数据(Data)。 ●数据对事物属性或其状态的描述。 ●这种描述可以有多种不同的形式 数字、文本、图像、音频、视频等。 ●数据库( Database,DB):指长期存储在计算机内的有结构、可共享的相关数据的集合。 ●数据如何存储? ●数据如何访问? ●解决这两个问题的工具是数据库管理系统DBMS 数据库管理系统 数据库管理系统(DBMS):位于用户与操作系统之间的一层 数据管理软件系统 数据库系统的核心组成部分,数据库的一切操作,如查询更新、插入、删除以及各种控制,都是通过DBMS进行的。 任务:科学地组织和存储数据、高效地获取和维护数据 数据库管理系统 ●数据定义DDL:定义数据库中的数据对象 ●数据操纵DML:实现对数据库的基本操作 ●数据库运行管理:安全性、完整性、并发控制等 ●数据库的建立和维护功能:数据装载、备份/恢复、性能分析等 功数据库系统(DBS):指采用了数据库技术的计算机系统。