首页 > 其他分享 >数据中台以及数据仓库的介绍

数据中台以及数据仓库的介绍

时间:2024-08-03 15:17:16浏览次数:12  
标签:数据仓库 业务 介绍 粒度 维度 数据 事实

数据中台

1、数据中台的概念

数据中台是一种集中化的数据管理平台,用于整合和管理企业内部各个业务系统的数据。

它将数据从各个业务系统中抽取、清洗和集成,然后提供给其他业务系统或者数据应用进行分析、决策和创新。

数据中台的目标是实现数据的一致性、可信度和可用性,促进数据的共享和交流。

数据中台通常采用实时或近实时的数据集成和处理,以支持实时分析和实时决策。

2、数据仓库

2.1数据仓库的概念

数据仓库是一种面向分析和决策支持的数据存储和管理架构。

它通常采用结构化数据模型,如星型或雪花型模型,用于存储和管理经过清洗、集成和转换的数据。

数据仓库具有高度规范化的结构和预定义的模式,用于支持复杂的分析查询和报表生成。

数据仓库的数据通常是批量加载和周期性更新的,用于历史数据分析和业务报告。

image.png

2.2数据仓库的特点

  • 面向主题
    • 主题是一个抽象概念, 简单的说就是与业务 相关的数据类别,每 个主题基本对应一个 宏观的分析领域
  • 集成
    • 与面向主题密切相关, 将多个分散的数据源统 一成一致的、无歧义的 数据个时候,在放到数 据仓库中,比如产品名 冲突,单位不一致问题, 完成诸如此类整合后该 数据仓库可称为集成的
  • 随时间变化
    • 数据仓库中的数据反映 了某一历史时间点的数 据快照,但一般数据仓 库不是永久存储而是存 在生命周期
  • 非易失
    • 数据一旦进入数据仓库, 数据就不应该再有改变。 操作型环境中的数据一 般都会频繁的更新,而 在数据仓库环境中一般 不进行数据更新,当改 变的操作性数据进入数 据仓库时会产生新的记 录,这样就保留了数据 变化的历史轨迹

2.3业务的痛点

包括数据资产模糊、无法应对频繁临时的需要、问题难定位,周期长、数据质量低、重复建设、代码耦合性较高等。

2.4数仓常见的模型

2.4.1星型模型

image.png

  • 优缺点:
    • 非正规化,和雪花模型相比较不是很常用
    • 不存在渐变维度
    • 有冗余数据
    • 查询效率可能会比较高
    • 不用过多考虑正规化因素,设计维护较为简单。
2.4.2雪花模型

image.png

  • 优缺点:
    • 相对于星型模型较正规化
    • 数据冗余少
    • 有些数据需要连续才能获取,可能效率较低
    • 规范化操作较复杂,导致设计及后期维护复杂
    • 实际应用中,可以采取星型和雪花两种模型的混合体。

总结:

什么情况下用哪种模型?

这个得分情况讨论,如果数据不是很多,而且比较简单单一,容易区分,数据也没有冗余,维度也没有很多,那么就采用星型模型,因为后期维护起来会很方便。

相反得是,如果数据比较多,而且不容易区分,维度较多较复杂,那么就使用雪花模型,虽然在开发得过程中效率比较高,但是在后期得维护过程中会比较复杂。

2.5维度表得设计方法******

  • 1、选择维度
    • 作为维度建模的核心, 需保证企业级数据仓 库维度唯一性
    • 维度一般作为查询的 约束条件、分组、排 序关键属性,所以可 以从需求出发来选择 维度
  • 2、确定主维表
    • 主维表一般是直接 从业务系统同步而 来,它是分析事实 中所需要环境描述 的最基础、最频繁 的维度属性集合
    • 比如:用户维度从 业务系统用户信息 表中直接抽取
  • 3、梳理维度关系
    • 确定哪些表与主维表 存在关联关系,并选 择其中某些表用于生 成维度属性
    • 梳理主维表与其他维 表关系,如一对多、 多对一、一对一等关 系
    • 比如:sku、spu、 类目等有关系的维度
  • 4、定义维度属性
    • 从主维表或者相 关联维表中选择维 度属性或生成维度 属性
    • 维护描述属性与 其他维度关联关系 字段

2.6事实表

2.6.1事实表的分类
  • 事务事实表
    • 描述业务过程,跟踪空间或时间上某点的度量事件保存 的是最原子的数据,原子是指不可再分割项
    • 每行记录代表实体的一个事务
    • 如:下单流水、支付流水等
  • 周期快照事实表
    • 具有规律性的、可预见的时间间隔产生快照每行代表某 个时间周期的一个实体
    • 记录的事实是时间周期内的聚集事实值或状态度量
    • 如:库存快照表
  • 累计快照事实表
    • 描述业务过程,跟踪空间或时间上某点的度量事件保存 的是最原子的数据
    • 每行记录代表实体的一个事务
    • 如:交易全流程事实表

总结:区分三个表

事务事实表适用于需要详细跟踪单个事件的情况;周期快照事实表适用于需要分析时间间隔内的事件总和的情况;累积快照事实表适用于需要分析整个生命周期或跟踪状态变化的情况

2.6.2事实表的设计原则
  • 事实完整性
  • 粒度一致性
  • 事实可加性
  • 维度退化
  • 事实易用性
  • 单位统一
  • 业务相关
  • 控制处理
2.6.3事实表设计流程
  • 选择业务
    • 在明确了业务需求以后,接下来需要进行详细的需求分析,对业务的整个生命周期进行分 析,明确关键的业务步骤,从而选择与需求有关的业务过程。业务过程通常使用行为动词 表示业务执行的活动
  • 声明粒度
    • 粒度的声明是事实表建模非常重要的一步,意味着确定事实表的每一行所表示的业务含义, 粒度传递的是与事实表度量有关的细节层次。明确的粒度能确保对事实表中行的意思的理 解不会产生混淆,保证所有的事实按照同样的细节层次记录
  • 确定粒度
    • 完成粒度声明以后,也就意味着确定了主键,对应的维度组合以及相关的维度字段就可以 确定了,应该选择能够描述清楚业务过程所处的环境的维度信息
  • 确定事实
    • 事实可以通过回答“过程的度量是什么”来确定。应该选择与业务过程有关的所有事实, 且事实的粒度要与所声明的事实表的粒度一致。事实有可加性、半可加性、非可加性三 种类型,需要将不可加性事实分解为可加的组件
  • 冗余维度
    • 在大数据的事实表模型设计中,考虑更多的是提高下游用户的使用效率,降低数据获取 的复杂性,减少关联的表数量。所以通常事实表中会冗余方便下游用户使用的常用维度, 以实现对事实表的过滤查询、控制聚合层次、排序数据以及定义主从关系等操作

2.7数据模型分层的规范

  • 禁止逆向调用

  • 避免同层调用

  • 优先使用公共层

  • 避免跨层调用

    但是,并非绝对,有时会因业务的特殊 违反建模规范,比如:在特定情况下 ADS层可以直接引用ODS层数据

3、补充:数据湖

数据湖是一种存储和管理各种类型和格式的数据的架构,包括结构化数据、半结构化数据和非结构化数据。

数据湖不要求提前定义数据模型或模式,允许数据以原始形式存储,并通过按需处理和解析来应用于不同的数据分析和应用场景。

数据湖的目标是集中存储和管理所有的数据,以提供更灵活、可扩展和多样化的数据分析和应用。

数据湖通常采用分布式存储和处理技术,如Hadoop和云存储服务。

4、OneData数据模型

  • 相关名次解释:
    • 业务过程:
      • 指在业务中发生的最小单元的行为或事务,不可再拆分事件,比如创建订单,浏览网页等等。业务过程产生的行为明细, 比如支付了一笔订单,浏览了某个网页,最终都会汇集到事实表中,而大部分情况下,事实表都会聚焦于某个特定的业务 过程。
    • 原子指标:
      • 原子指标是对指标统计口径、具体算法的一个抽象。
    • 业务限定:
      • 在进行数据分析时,有时需要根据业务规则来定义一些限定条件,以此来过滤出符合条件的记录。比如要统计【PC端访客 数】这个指标,则需要先创建【PC端】这个业务限定。后续,这个业务限定可以用于其他相同规则的指标定义,比如
        【PC端浏览次数】等。
    • 派生指标:
    • 派生指标即常见的统计指标,为保证统计指标标准、规范、无二义性地生成,基于四部分生成:原子指标(明确统计口径, 即计算逻辑)、业务限定(统计的业务范围,筛选出符合业务规则的记录)、统计周期(统计的时间范围,比如最近一天, 最近30天等)、统计粒度(统计分析的对象或视角,定义数据需要汇总的程度,可理解为聚合运算时的分组条件,粒度是 维度的一个组合,比如某个指标是某个卖家在某个省份的成交额,那么粒度就是卖家、地区这两个维度的组合)。

5、数据获取与采集

5.1数据采集流程和同步场景

6、数据加工和清洗

6.1概述

  • 需要进行这一步的原因:
    • 元数据不一致,如取值不统一,单位不一致等
    • 数据缺失
    • 数据错误,如格式、取值异常、逻辑错误等
    • 数据冗余,如日志信息、重复信息等
    • 数据合并,描述相同对象的记录合并

6.2常用策略

  • 原则:能使用SQL的情形下,尽量使用SQL

image.png

6.3元数据不一致

  • 常用方法:
    • 定位标准元数据,创建map表或者定义转换规则,清洗数据

image.png

6.4数据缺失

image.png

  • 注意:给定的值也是根据实际情况而定

6.5数据错误

常见方法:根据实际问题分析

  • 格式错误: 隐式转换和显式转换;
    • 定义成String型,通过SQL进行预检查
  • 取值异常: 根据业务规则进行约束检查
    • 根据统计信息判断是否异常
  • 对象相同,记录不同:
    • 确认不同数据来源的可信度
    • 横向对比,根据其他对象信息判断
    • 纵向对比,结合该对象其他信息判断

7、数据中台建设

7.1数据中台建设步骤

企业数据化建设最佳实践提炼总结出数据中台落地五步法,在这个过程中,最大力度支撑企业数据化落地,提高 数据中台项目实施过程标准化,提升数据中台项目成功概率。是企业数据化建设的最佳实践。

image.png

7.2数据资源盘点

资源盘点是数据中台建设的基础支撑,通过对客户现有业务系统、数据库模型、网络架构、业务流程、数据质量 等做信息基础现状彻底盘清以后,才能规划数据中台的上层建设,而不至于盲目设计应用而最终无法落地。

image.png

7.3数据中台设计

数据中台设计,是基于数据资源盘点,为最终实现数据应用规划,对于现有的网络、技术选型、采集、模型、开 发、输出整套体系所做的概要设计和架构设计。

image.png

7.4数据中台开发

数据中台开发,是进行细节的产品设计和数据开发工作。产品设计是基于数据应用规划的基础,数据开发和产品 开发是基于数据中台设计的基础。

image.png

8、基于数栈的数据中台建设

image.png

有关IaaS,PaaS和SaaS的介绍

IaaS,PaaS和SaaS是3种不同形式的云计算交付模型,通过广域网(WAN)向消费者提供服务。

IaaS提供按需快速配置虚拟化硬件基础架构资源,如服务器,存储和网络。

PaaS提供平台软件或中间件执行环境的按需快速配置,例如消息队列,关系型数据库管理系统和容器编排系统。

SaaS通过Web向消费者提供应用程序或软件服务。 SaaS不要求消费者管理底层平台和基础架构。电子邮件服务,数据备份服务和SMS服务是SaaS的示例。

标签:数据仓库,业务,介绍,粒度,维度,数据,事实
From: https://www.cnblogs.com/shmil/p/18340555

相关文章

  • 常用的数据集WebVision介绍和pytorch下的简单使用
    WebVision数据集介绍官方下载地址WebVision数据集常用于开集/闭集噪声学习、长尾噪声学习方法在真实数据集上的评估。根据[2]的统计,干净样本占70%,OOD噪声占25%,ID噪声占5%。由于数据集本身较大,论文中使用的都是其中很小的一部分,进入下载页面,选择《WebVisionDataset1.0》《Resi......
  • (一)如何使用 Parsel 和 XPath 进行网页数据提取
    简介在网络爬虫开发中,数据提取是一个至关重要的步骤。Parsel是一个强大的Python库,结合XPath,可以轻松从HTML或XML文档中提取所需数据。本文将介绍Parsel和XPath的基础知识,并展示如何在实际项目中使用它们进行网页数据提取。什么是Parsel?Parsel是一个专门用于处理......
  • 最火的十大 Edge插件:安装指南、功能介绍及使用技巧
    最火的十大MicrosoftEdge插件:安装指南、功能介绍及使用技巧随着网络浏览需求的不断增加,浏览器插件变得越来越重要。MicrosoftEdge通过其丰富的插件生态系统,满足用户的多样化需求。本文将介绍十款在中国用户中最受欢迎的Edge插件,包括如何安装、使用及其主要功能和作用。这些......
  • 【Linux或者Windows中相关网络工具使用介绍】nc、ping、ifconfig、ipaddr、tcpdump、l
    在实际的网络排错、运维诊断、或者是开发过程中,熟练运用Linux或者Windows当中的有关网络工具,能够助力我们更迅速更精准地定位故障。因而,今天给大家分享几款必掌握的网络利器。1.nc命令在Linux中,nc命令即netcat命令,它被称为网络工具中的“瑞士军刀”,是一个功能强大的......
  • 【Python】数据类型之字符串
    本篇文章将继续讲解字符串其他功能:1、求字符串长度功能:len(str)  ,该功能是求字符串str的长度。代码演示:2、通过索引获取字符串的字符。功能:str[a]  str为字符串,a为整型。该功能是获取字符串str索引为a处的字符。注意:字符串的索引是从0开始的。代码演示:注意......
  • Java数据类型
    目录数据类型基本数据类型引用类型数据类型的转换数据类型基本数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型1.byte:byte数据类型是8位、有符号的,以二进制补码表示的整数;最小值是-128zhi(-2^7);最大值是127(2^7-1);默认......
  • LLM 大模型文档语义分块、微调数据集生成
    1、LLM大模型文档语义分块参考:https://blog.csdn.net/m0_59596990/article/details/140280541根据上下句的语义相关性,相关就组合成一个分块,不相关就当场两个快语义模型用的bert-base-chinese:https://huggingface.co/google-bert/bert-base-chinese代码:对水浒传的分......
  • 数据结构--------二叉树的定义及遍历操作的实现
    /*二叉树的链式存储以及基本操作*/#include<stdio.h>#include<stdlib.h>//树的节点typedefstructBTNode{intdata;structBTNode*lchild;structBTNode*rchild;}BTNode,*BTTree;/......
  • 如何基于欧拉系统完成数据库的安装
    一、安装当我们直接进行安装软件包时,会提示有冲突,此时,我们应该这样来解决使用rpm命令 [[email protected]]#rpm-qa|grepselinux使用rpm命令卸载以下两个软件包[[email protected]]#rpm-eselinux-policy-35.5-22.oe2203sp4.noarch--nodeps......
  • 【Rust光年纪】提升数据安全性与完整性:Rust语言哈希算法库深度对比
    深入探索Rust中的哈希算法库:安装配置与API解析前言在现代软件开发中,数据的安全性和完整性是至关重要的。哈希算法作为一种常见的数据加密和校验手段,在Rust语言中有着广泛的应用。本文将介绍几个用于Rust语言的常见哈希算法库,包括blake2、sha2、md5、crc32、xxhash以及siph......