数据仓库知识点

什么是数据仓库?

数据仓库是决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。
数据库的特征在于面向主题,集成性,稳定性和时变性,用于支持管理决策。
数据仓库的意义在于对企业的所有数据进行汇总,为企业各个部门提供统一的,规范的数据出口。

  • 面向对象:数据仓库中的数据是按照一定的主题域进行组织的,每个主题对应一个宏观的分析领域。数据仓库排除对于决策无用的数据,提供特定主题的简明视图。
  • 集成的:企业级数据,同时数据要保持一致性,完整性,有效性,精确性
  • 稳定的:从某个时间段看是保持不变的,木有更新操作,删除操作,以查询分析为主
  • 变化的:数据仓库里会完整的记录某个对象在一段时期内的变化情况

数据仓库的目标是实现集成、稳定、反应历史变化有组织有结构的存储数据的集合。

1

 

日志数据:通过sdk(soft development kit)做数据采集(js采集,java代码),所谓sdk就是我们开发一些工具,采集用户与前端交互的数据(点击,浏览,点赞,广告,错误日志),采集方式是通过监控事件的方式,采集之后对数据进行加密,压缩,转码,采用实时发送,定时发送,还可能根据网络情况发送,需要发送给后端日志服务器。
业务数据:记录在数据库中的数据,这些数据基于事务机制记录每个业务过程的数据。

什么是数据库?

数据库是按照数据结构来组织,存储和管理数据的建立在计算机存储设备上的仓库。
数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和存储在一起、具有尽小可能的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
数据库是用来支撑业务的,需要响应速度特别快,没有延迟,查询起来都是一条条查询,把相关的数据全部得到,适合用这种关系型数据库。数据仓库用来主要支撑分析的

数据仓库与数据库对比

数据仓库建模理论

ER(EntityRelation)实体模型

  • ER模型是数据库设计的理论基础,当前几乎所有的OLTP系统设计都采用ER模型建模的方式
  • Bill Inom提出的数据仓库理论,推荐采用ER关系模型进行建模
  • BI架构提出分层架构,数据仓库底层的ods,dwd多采用ER关系建模就行设计
  • ER模型建模标准:尽量的避免数据冗余

 维度建模

维度建模源自数据集市,主要面向分析场景:数据仓库建模 ;主流的OLAP引擎底层数据模型

                星型:

 

               雪花:

雪花模型和星型模型对比:

  • 冗余:雪花模型符合业务逻辑设计,采用3NF设计,有效降低数据冗余;星形模型的维度表设计不符合3NF,反规范化,维度表之间不会直接相关,特殊部分存储空间
  • 性能:雪花模型由于存在维度间的关系,采用3NF降低冗余,通常在使用过程中,需要连接更多的维度表,导致性能偏低;星形模型反三范式,采用降维的操作将维度整合,以存储空间为代价有效降低维度表连接数,性能较雪花模型高;
  • ETL(数据清洗):雪花模型符合业务ER模型设计原则,在ETL过程相对简单,但是由于阶段性模型的限制,ETL任务并行化较低;星形模型在设计维度表时反范式设计,所以在ETL过程中整合业务数据到维度表有一定难度,但是由于避免阶段性维度,可并行化处理

dataVault模型

Data Vault是在ER模型的基础上衍生而来,模型设计的初识是有效的组织基础数据,使之易扩展,灵活的应对业务的变化,同时强调历史性,可追溯性和原子性,不要求对数据进行过度的一致性处理,并非针对分析场景设计

包含三种结构:卫星表--satallite:历史的描述性数据,数据仓库中数据的真正载体

                         链接表-link:表示中心表之间的关系,通过链接表串联整个企业的业务关联关系

                         中心表-hub;唯一业务键的列表,唯一标识企业实际业务,企业的业务主体集合

 

anchor

  • anchor是对dataVault模型做了更近一步的规范处理,初识是为了设计高度可扩展的模型,核心思想就是所有的扩展只添加不修改,于是设计出模型基本变成了k-v结构的模型,模型范式达到了6NF
  • Map模型

 

建模总结

以上为四种基本的建模方法:当前主流的建模方法为:ER模型(主要应用于数据库),维度模型(主要应用于数据仓库)

  • ER模型常用于OLTP数据库建模,应用到构建数据仓库时更偏重数据整合,站在企业整体考虑,将各个系统的数据按相似性一致性,合并处理,为数据分析,决策服务,但并不便于直接用来支持分析.
  • 维度建模是面向分析场景而生,针对分析场景构建数据仓库模型;重点关注快速,灵活的解决分析需求,同时能够提供大规模数据的快速响应性能.针对性强,主要应用于数据仓库构建和OLAP引擎低层数据模型
  • 不需要完整的梳理企业业务流程和数据
  • 实施周期根据主题边界而定,容易快速实现demo
  • 尽量要冗余,因为数据仓库(hive)后面是hdfs,硬盘空间无上限;推荐使用星形模型,可以使用雪花模型,但是层级不要太多;

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值