参考链接:

数据库与数据仓库的那点事​mp.weixin.qq.com

我们熟知Hive是Hadoop生态圈的重要一员,作为一个基于Hadoop的数据仓库工具,用来做离线的数据分析工作。那么什么是数据仓库,什么是数据库,二者又有什么不同呢?

什么是数据库与数据仓库?

数据库

(1)概念:是一种逻辑概念,用来存放数据的仓库,通过数据库软件来实现。数据库由很多表组成,表是二维的,一张表里面有很多字段;字段一字排开,对数据就一行一行的写入表中;数据库的表,在于能够用二维表现多维的关系;一般存储在线交易数据;

(2)设计原则:数据库设计是尽量避免冗余,一般采用符合范式的规则来设计;

(3)三层结构:数据访问层,业务逻辑层,展示层;

数据仓库

(1)概念:是数据库概念的升级,从逻辑上理解,数据库和数据仓库没有区别,都是通过数据库软件实现存放数据的地方,只不过从数据量来说,数据仓库要比数据库更庞大的多;数据仓库主要用于数据挖掘和数据分析,辅助领导做决策;存储的一般是历史数据;

(2)设计原则:数据仓库在设计是有意引入冗余,采用反范式的方式来设计;

(3)数据仓库架构可以分为三层:数据源,数据仓库,数据应用;

二者共同点是:它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。

数据库与数据仓库的主要区别?

(1) 数据库是面向事务的设计,数据仓库是面向主题设计的。

理解如下:我们现在的微信、微博和QQ等账户和密码。在后台数据库必须是一个user表,字段起码有两个吗,即用户名和密码,然后我们的数据就一行一行的存在表上面。当我们登录的时候,我们填写了用户名和密码,这些数据就会回传到回台去,去跟表上面的数据匹配,匹配成功了,就能登录。匹配不成功就会报错,这就是数据库,数据库在生产环境就是用来干活的。凡是跟业务有关应用挂钩的,我们都使用数据库。

(2) 数据库是为捕获数据而设计,数据仓库是为分析数据而设计.

比如我想知道在哪个时间段,用户的量最多?哪个用户一年购物最多?诸如此类的指标。那就要从新设计数据库的表结构了。对于数据分析和数据挖掘,我们引入了数据仓库概念。数据仓库的表结构是依照分析需求,分析维度,分析指标进行设计的。

(3) 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别。

操作型处理,叫联机事务处理OLTP(On-Line Transaction Processing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发的支持用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。

分析型处理,叫联机分析处理OLAP(On-Line Analytical Processing)一般针对某些主题历史数据进行分析,支持管理决策。

数据仓库物理模型:分析型处理

(1) 星型

中央表包含事实数据,多个表以中央表为中心呈放射状分布,它们通过数据库的主键和外键相互连接,是一种使用关系数据库实现多维分析空间的模式,其基本形式必须实现多维空间,以使用关系数据库的基本功能。同时星型模型也是一种非正规化的模型,多维数据集的每一个维度直接与事实表连接,没有渐变维度,所以存在冗余数据。在星型模型中,只需要扫描事实表就可以进行查询,主要的数据都在庞大的事实表中,所以查询效率较高,同时每个维度表和事实表关联,非常直观,很容易组合出各种查询。

(2) 雪花型

雪花模型在星型模型的基础上,维度表进一步规范化为子维度表,这些子维度表没有直接与事实表连接,而是通过其他维度表连接到事实表上,看起来就像一片雪花,故称雪花模型。也就是说雪花模型是星型模型的进一步扩展,将其维度表扩展为更小的维度表,形成一种层次。这样就通过最大限度的减少数据存储量以及联合较小的维度表来改善查询性能,且去除了星型模型中的冗余数据。

数据仓库的设计

(1) 实体表

实体表就是一个实际对象的表,实体表它放的数据一定是一条条客观存在的事物数据,比如说设备 ,它就是客观存在的,所以可以将其设计一个实体表。

(2) 事实表

事实表其实质就是通过各种维度和一些指标值得组合来确定一个事实的,比如通过时间维度,地域组织维度,指标值可以去确定在某时某地的一些指标值怎么样的事实。事实表的每一条数据都是几条维度表的数据和指标值交汇而得到的。

(3) 维度表

维度表可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,它里面的数据就是一些日,周,月,季,年,日期等数据,维度表只能是事实表的一个分析角度。

(4) 设计原则

第一范式:1NF是对属性的原子性,要求属性具有原子性,即列不可再分解;第二范式:2NF是对记录的惟一性,要求记录有惟一标识,即实体的惟一性,即不存在部分依赖;第三范式:3NF是对字段的冗余性,要求任何字段不能由其他字段派生出来,它要求字段没有冗余,即不存在传递依赖。

事实表和维度表是怎么造数据_数据库与数据仓库的那点事相关推荐

  1. 事实表和维度表是怎么造数据_从电商数据指标到电商数据中台

    接上一篇业务洞察--从人货场提炼电商数据指标 数据指标体系已经提炼好了,接着就是想办法落地实现.现在数据中台是个流行词汇,在技术思维里,重复的逻辑会被抽象为组件.服务或者系统,系统这个层级都包不住的, ...

  2. BI中事实表,维度表和数据集市,数据仓库的理解

    维度表(dimension)存放着一些维度属性,例如时间维度:年月日时:地域维度:省份,城市:年龄维度:老年,中年,青年:职称维度:高,中,低.它定义了可以从哪些角度分析事实表. 事实表(fact)存 ...

  3. 事实表与维度表的区别与关系

    事实表       每个数据仓库都包含一个或者多个事实数据表.事实数据表可能包含业务销售数据,如现金登记事务所产生的数据,事实数据表通常包含大量的行.事实数据表的主要特点是包含数字数据(事实),并且这 ...

  4. BI中的事实表和维度表

    事实表: 每个数据仓库都包含一个或者多个事实数据表.事实数据表可能包含业务销售数据,如现金登记事务. 所产生的数据,事实数据表通常包含大量的行.事实数据表的主要特点是包含数字数据(事实),并且这些数字 ...

  5. 理解维度数据仓库——事实表、维度表、聚合表

    一.事实表 在多维数据仓库中,保存度量值的详细值或事实的表称为"事实表".一个按照州.产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似. 在这些事实表的示 ...

  6. Flink数据清洗(Kafka事实表+Redis维度表)

    调研 从网上的调研来看,其实整个百度有清洗流程的只有[1]其他都是抄的[1]中的内容. 实验流程 这个流程的话,不要去研究redis的Flink SQL Client的操作方法,因为在mvn repo ...

  7. BI中事实表和维度表的定义+具体SQL操作(转载+自己添加实验)

    1个典型的例子是,把逻辑业务比作1个立方体,产品维.时间维.地点维分别作为不同的坐标轴,而坐标轴的交点就是1个具体的事实.也就是说事实表是多个维度表的1个交点.而维度表是分析事实的1个窗口. 首先介绍 ...

  8. mysql 事实表 维度表_数据库的事实表与维度表

    维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况,你可以选择按类别来进行分析,或按区域来分析,这样的按照什么分析就构成一个维度.前面的实例就可以有两个维度:类型和区域.另外每个维度还 ...

  9. BI中事实表和维度表的定义

    一个典型的例子是,把逻辑业务比作一个立方体,产品维.时间维.地点维分别作为不同的坐标轴,而坐标轴的交点就是一个具体的事实.也就是说事实表是多个维度表的一个交点.而维度表是分析事实的一个窗口. 首先介绍 ...

  10. 数据仓库、事实表、维度表、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解

    详情请点击 1.数据仓库 DW是一个 面向主题的,集成的,相对稳定的,反映历史变化的 数据集合 用于支持管理决策(DMS) 面向主题的:经过ETL抽数.清洗.转换加载之后,数据按不同主题存放同一个库中 ...

最新文章

  1. Sqlserver 优化的方法
  2. Spring4基础 学习笔记(3) ---- AOP(1) ---- 基于Xml
  3. LeetCode Algorithm 7. 整数反转
  4. [BZOJ 2844] albus就是要第一个出场
  5. python画圆形螺旋线_中秋节到了,送你一个Python做的Crossin牌“月饼”
  6. PAT (Basic Level) 1004. 成绩排名 (20)
  7. [function.strtotime] 错误对策
  8. android实现Materia Design风格APP(一):开篇
  9. Linux kernel SMP 中断机制
  10. FPGA设计入门-----1位全加器的设计
  11. 什么是spurious wakeups(虚假唤醒)
  12. 完整的网站前端+源码模板
  13. extends和implement的区别
  14. draw.io怎么安装在linux,Draw.io安装
  15. DTD与shema学习
  16. 微信小程序点击图片预览真机无法显示的问题
  17. [易飞]付款条件-账期之理解
  18. 德鲁克:CEO必须秉持的六项原则
  19. 如何全网智能识别文章页,识别正文和标题
  20. 某程序员在网吧敲代码,出类拔萃,网友:为何我被打的却是我

热门文章

  1. 论文阅读笔记(五)——FD-MOBILENET
  2. 实操教程:Android部署Nanodet模型完成实时高效的物体检测
  3. 盘点2021AI Conference Deadlines及论文写作突击要点
  4. 2020,我的年终总结(附优惠券)
  5. ECCV2020 | CPNDet:Anchor-free两阶段的目标检测框架,详解
  6. Linux基本命令总结(初学者可以借鉴学习)
  7. 完成3DM以后的总结(2).Xutils的简单使用
  8. SQL点点滴滴_常用函数
  9. 在页面中直接设计TreeView的节点而不使用Web.Sitemap文件在运行时出错信息
  10. Python GUI程序整理