数据仓库入门介绍框架(附带完整项目实战)

这篇具有很好参考价值的文章主要介绍了数据仓库入门介绍框架(附带完整项目实战)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据仓库入门介绍框架(附带完整项目实战),数据仓库
一、诞生背景

  • 企业数据分析需要:各个部门自己建立独立的数据抽取系统,导致数据不一致
  1. 概述
  • 数据仓库是一个面向主题的、集成、非易失的且随时间变化的数据集合
  • 主要用于组织积累的历史数据,并使用分析方法(OLAP、数据分析)进行分析整理辅助决策,为管理者、企业系统提供数据支持,构建商业只能。
  1. 特点
  • 面向主题:根据主题将原始数据集合在一起
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  • 集成:原始数据来源不同数据源,需要经过抽取、清洗、转换形成最终数据
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  • 非易失:保存的数据是一系列历史快照,不允许被修改,只允许通过工具进行查询。
  • 时变性:数仓会定期接受,集成新的数据,从而反映出数据的最新变化(时间戳)
  1. 数据仓库VS数据库
  • 数据库面向事务设计,属于OLTP(在线事务处理)系统,主要操作是随机读写;在设计是尽量避免冗余,常采用符合范式规范来设计。
  • 数据仓库是面向主题设计的,属于OLAP(在线分析处理)系统,主要操作是批量读写;关注数据整合,以及分析、处理性能;会有意引入冗余,采用反范式设计

数据仓库入门介绍框架(附带完整项目实战),数据仓库

  1. 技术实现
  • 传统数据仓库
    • 由关系型数据库组成MPP(大规模并行处理)集群。
  • 大数据数据仓库
    • 利用大数据天然的扩展性,完成海量数据的存放
    • 将SQL转换为大数据计算引擎任务,完成数据分析
  • MPP架构
    • 传统数仓中常见的技术架构,将单机数据库节点组成集群,提升整体处理性能
    • 节点间为非共享架构,每个节点都有独立的磁盘存储系统和内存系统
    • 每台数据节点通过专用网络或商业通用网络互相连接,彼此协同计算,作为整体提供服务
    • 设计上优先考虑C(一致性),其次考虑A(可用性),尽量做好P(分区容错性)
  • 架构优点
    • 运算方式精细,延迟低、吞吐低
    • 适合中等规模的结构化数据处理
    • 数据仓库入门介绍框架(附带完整项目实战),数据仓库

二、架构
数据仓库入门介绍框架(附带完整项目实战),数据仓库

  1. ETL流程
  • E(Extraction)
    • 抽取的数据源可以分为结构化数据、非结构化数据、半结构化数据
    • 结构化数据一般采用JDBC、数据库日志方式,非|半结构化数据会监听文件变动
    • 抽取方式:
      • 全量同步、增量同步
      • 全量同步:全部抽取,用于初始化装载
      • 增量同步方式:检测数据的变动,抽取发生变动的数据
  • T(Transformation)
    • 数据清洗:重复、二义性、不完整、违反业务或逻辑规则的问题进行统一
    • 数据转换:标准化、字段数据类型、数据定义
  • L(Loading)
    • 导入到数据源中ODS层中

数据仓库入门介绍框架(附带完整项目实战),数据仓库

  1. 操作数据层(ODS)
  • 数据于原业务数据保持一致,可以增加字段用来进行数据管理
  • 存储的历史数据是只读的,提供业务系统查询使用
  • 业务系统对历史数据完成修改后,将update_type字段更新为UPDATE,追加回ODS中
  • 在离线数仓中,业务数据定期通过ETL流程导入到ODS中,导入方式有全量、增量
  1. 数据明细层(DWD)
  • 数据明细层对ODS层的数据进行清洗、标准化、维度退化
  • 数据仍满足3NF模型,为分析运算做准备
  1. 数据汇总层(DWS)
  • 数据汇总层的数据对数据明细层的数据,按照分析主题及进行计算汇总,存放便于分析的宽表
  • 存储模型并非3NF,而是注重数据聚合,复杂查询、处理性能更优的数仓模型
  1. 数据应用层(ADS)
  • 数据应用层也被称为数据集市
  • 存储数据分析结果,为不同业务场景提供接口,减轻数据仓库的负担
  1. 建模方法

  2. OLTP系统建模方法

  • OLTP系统建模方法
  • OLAP(在线联机分析)
    • 主要操作是复杂分析查询;关注数据整合,以及分析、处理性能
    • OLAP根据数据存储的方式不同,又分为ROLAP、MOLAP、HOLAP
  • OLAP系统分类
    • ROLAP:使用关系模型构建,存储系统一般为RDBMS
    • MOLAP:预先计算,使用多维数组的形式保存数据结果,加快查询分析时间
    • HOLAP:ROLAP和MOLAP两者的集成;如低层是关系型,高层是多维矩阵型的;查询效率高于ROLAP,低于MOLAP
  1. ROLAP系统建模方法
  • 典型的数据仓库建模方法有ER模型、维度模型、Data Value、Anchor

数据仓库入门介绍框架(附带完整项目实战),数据仓库数据仓库入门介绍框架(附带完整项目实战),数据仓库文章来源地址https://www.toymoban.com/news/detail-801355.html

  • MOLAP系统建模方法
    • MOLAP将数据进行预结算,并将聚合结果存储到CUBE模型中
    • CUBE模型以多维数组的形式,物化到存储系统中,加快后续的查询
    • 生成CUBE需要大量的时间、空间,维度预处理可能会数据膨胀
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  1. 多维分析
  • 钻取
    • 对维度不同层次的分析,通过改变维度的层次来变换分析的粒度
    • 钻取包括上卷(Roll-up)、下钻(Drill-down)
  • 切片(Slice)、切块(Dice)
    • 选择某个维度进行分隔成为切片
    • 按照多维进行的切片成为切块
  • 旋转(Pivot)
    • 对维度方向的互换,类似于交换坐标轴上卷(Roll-up)
  1. 最佳实践
  2. 表的分类
  • 事实表:一个现实实在的业务对象
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  • 维度表:对应一个业务状态,代码的解释表。码表
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  • 事务事实表:随着业务不断产生的数据,一旦产生不会再变化,如交易流水、操作日志、出库入库记录。
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  • 周期快照事实表:随着业务周期型的推进而变化,完成间隔周期内的度量统计,如年、季度累计
  • 使用周期+状态度量的组合,如年累计订单数,年是周期,订单总数是量度。
  • 数据仓库入门介绍框架(附带完整项目实战),数据仓库
  • 累积快照事实表:
    • 记录不确定周期的度量统计,完全覆盖一个事实的生命周期,如订单状态表
    • 通常有多个时间字段,用于记录生命周期中的关键时间点
    • 只有一条记录,针对此记录不断更新数据仓库入门介绍框架(附带完整项目实战),数据仓库
  1. 任务调度数据仓库入门介绍框架(附带完整项目实战),数据仓库

到了这里,关于数据仓库入门介绍框架(附带完整项目实战)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍)

    🚨注意🚨 :最近经粉丝反馈,发现有些订阅者将此专栏内容进行二次售卖,特在此声明,本专栏内容仅供学习,不得以任何方式进行售卖,未经作者许可不得对本专栏内容行使发表权、署名权、修改权、发行权、转卖权、信息网络传播权,如有违者,追究其法律责任。 👑

    2023年04月15日
    浏览(58)
  • AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(五)—— 项目-新闻头条-数据管理平台-ajax综合案例前端

    愿许秋风知我意,解我心中意难平。 推荐使用, 每个程序员都有自己的管理方式。 HTML结构: 1.为什么要提取公共前缀地址(基地址),因为公司业务可能会更换服务器,如果你不想一条一条地修改请求地址的话。 后续使用axios时,url不需要再写前缀。 2.请求成功与失败 成

    2024年01月25日
    浏览(49)
  • 【项目实战】ES的索引模式入门介绍

    在ES中,索引是指一组具有相似特征的文档的集合,可以将其看作是数据库中的表。 索引模式是指定义索引中文档的结构和属性的过程,类似于数据库中的表结构定义。 在ES中,索引模式是以JSON格式定义的,包含了文档的字段、类型、分析器等信息。 索引模式的设计对于E

    2024年02月07日
    浏览(35)
  • 全网最全Pytest框架使用教程和项目实战~从入门到精通

    pytest是一个非常成熟的python单元测试框架,比unittest更灵活、更容易上手 pytest可以和selenium、requests、appinum结合实现web自动化、接口自动化、app自动化 pytest可以是实现测试用例的跳过以及reruns失败用例重试 pytest可以和aliure生成非常美观的测试报告 pytest可以和jenkins持续集成

    2024年02月06日
    浏览(45)
  • 【ROS2机器人入门到实战】Nav2导航框架介绍与安装

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 上一节我们对机器人导航过程中所用到的2D地图进行了介绍,本节

    2024年02月04日
    浏览(36)
  • 超详细【入门精讲】数据仓库原理&实战 一步一步搭建数据仓库 内附相应实验代码和镜像数据和脚本

    文章对应的博客园链接:点击这里 建议搭配视频内容食用,效果更加。也可以直接按博客内容学习完成搭建 B站课程链接: 课程链接地址 下载UP主 哈喽鹏程 提供的资源镜像及脚本包 后续所使用的SQL脚本和shell脚本及job脚本文件,均在此下载,请自行下载 下载连接: 数据仓

    2024年02月03日
    浏览(52)
  • 【项目实战】Windows系统中环境变量(PATH、CLASSPATH)入门介绍

    英文(environment variables) 一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:临时文件夹位置和系统文件夹位置等。 在操作系统中一个具有特定名字的对象 包含了一个或者多个应用程序所将使用到的信息。 用户通过设置环境变量,来更好的运行进程。 Window

    2024年02月06日
    浏览(45)
  • 【项目实战】Java中的安全管理器SecurityManager入门介绍

    Java中的一个安全管理器 一个允许应用程序实现安全策略的类。 应用程序可以允许或不允许该操作。 通过SecurityManager,可以限制Java应用程序对以下资源的访问: 文件系统:包括读、写、执行等操作。 网络:包括建立连接、发送和接收数据等操作。 反射:包括调用私有方法

    2024年02月16日
    浏览(43)
  • 【Android入门到项目实战-- 11.4】—— ExoPlayer视频播放器框架的详细使用

    目录 什么是ExoPlayer 一、基本使用  1、添加依赖项  2、布局 3、Activity 二、自定义播放暂停 1、首先如何隐藏默认的开始暂停和快进? 2、自定义 三、控制视频画面旋转和比例调整 四、全屏放大和缩小 1、双击视频放大缩小 2、按钮放大缩小 五、完整的实现代码 XML Activity   

    2024年02月11日
    浏览(55)
  • 数据结构之动态顺序表(附带完整程序)

    ☀️(1)线性表: 是n个具有相同特性的数据元素的有限序列。线性表在逻辑上是线性结构,但在物理上存储时,通常以数组和链式结构的形式存储。 ☀️(2)顺序表: 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包