数仓主题域和数据域、雪花模型,星型模型和星座模型
数仓模型和领域划分
- 一、主题域和数据域的差别
- 二、雪花模型,星座模型和星型模型
一、主题域和数据域的差别
明确数据域作为数仓搭建的重要一环,能够让数仓的数据便于管理和应用。
数据域和主题域都是数据仓库中的重要概念,但含义略有不同,常常作为面试官的面试考点。
数据域
指的是特定的业务领域或是业务过程,如销售、采购、人力资源管理、财务等。在数据仓库中。每个数据域都对应一个或多个源系统(ODS层表数据),数据仓库从这些源系统中提取数据,经过清洗、转换和集成处理后,将数据存储在数据仓库中。数据域是数据仓库中的一个高层次概念,用于组织和管理数据仓库中的数据。
主题域
指的是特定的主题或领域,其中包含相关的概念、术语、知识和实践。在数据仓库中,每个主题域都包含一个或者多个维度表和一个或多个事实表,用于存储与该主题相关的数据。主题域通常是与业务相关的,例如销售分析、客户关系管理、供应链管理。主题域是数仓中的一个更细粒度的概念,用于描述和分析特定的业务领域或主题。
数据域和主题域之间存在一定的层次关系。数仓中的每个数据域都包含了一个或者多个主题域,每个主题域都包含了与其相关的维度和事实表,以及其他数据对象和元数据,用于支持数据分析和决策。
举个栗子:
下面是物理数仓所需的所有业务过程及数据域划分详情。
上图中的交易域由多个交易相关的业务过程事务型事实表组成,通常可以根据业务过程或者部门进行划分,如根据业务过程进行划分,需要注意的是一个业务过程只能属于一个数据域。
主题域是从业务视角自上而下分析,从整体业务环节中升华出来大的专项分析模块,结合对接的业务范围和行业形态从更高的视角去洞察整个业务流程。因此,主题域是由多个数据域组成的,这些数据域提供了主题域所需的数据。
例如:物流主题域需要统计历史至今的运单统计
完成该指标的统计需要使用到交易域和物流域数据。
再举个栗子:
数据域是萝卜,青菜,肉等原材料
主题大域是菜系,东北菜,粤菜,湘菜;子主题域是菜品,鱼香肉丝,东北烩菜
这些菜品都需要使用到萝卜,青菜,肉这些原材料,但却不属于同一个菜系。
总之,数据域是对数据的分类,而主题域和业务域是对业务的分类。主题域和数据域最终都是对数据的分类,只是一个是数据视角,一个是业务视角。
数据域是指将数据按照不同的维度进行划分,如时间、地区、产品等。而主题域则是指将业务对象高度概括的概念层次归类,目的是便于数据的管理和应用。
二、雪花模型,星座模型和星型模型
在构建数仓维度模型时,通常为数据分析提供便捷而进行反规范化的表结构设计。因此诞生出许多不同的维度模型。
星型模型
数据仓库中常见的一种模型,它是一种基于事实的模型,主要用于描述企业各个维度之间的关系。在星型模型中,事实表通过主键与维度表连接,形成一颗星星的形状。
星型模型只有一张事实表,通过主键外键关联的方式连接多张维度表,并且这些维度表之间不再存在关联关系。
星型模型的维度表只有一个层级,导致这些维度表存储了一定程度的数据冗余,比如一张包含国家、省份、城市三列的维度表,国家列会存在很多重复的数据。
星型模型的优点是简单易懂,易于理解和使用;缺点是扩展性较差,当业务需求发生变化时,可能需要对模型进行调整和扩展。
雪花模型
当一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化, 原有的各维表可能被扩展为小的事实表,形成一些局部的" 层次"区域,这些被分解的表都连接到主维表而不是事实表。
其优点是通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能,避兔了数据冗余。
其缺点是增加了主键-外键关联的几率,导致查询效率低于星型模型,且不利于开发。
星座模型
星座模型是星型模型的扩展,它允许在星型模型中存在多个事实表,不同事实表之间共享维表信息,常用于数据关系更复杂的场景。
星座模型的缺点是增加了主键-外键关联的几率,导致查询效率低于星型模型,并且不利于开发 。
通过上面的对比分析,可以发现数据仓库更适合使用星型模型来构建底层数据hive表,通过数据冗余来减少查询次数以提高查询效率。雪花模型在关系型数据库中(MySQL/Oracle) 更加常见。在具体规划设计时,应结合具体场及两者的优缺点来进行设计,找到一个平衡点去开展工作。
相关文章:
数仓主题域和数据域、雪花模型,星型模型和星座模型
数仓模型和领域划分 一、主题域和数据域的差别二、雪花模型,星座模型和星型模型 一、主题域和数据域的差别 明确数据域作为数仓搭建的重要一环,能够让数仓的数据便于管理和应用。 数据域和主题域都是数据仓库中的重要概念,但含义略有不同&am…...
黑马头条 热点文章实时计算、kafkaStream
热点文章-实时计算 1 今日内容 1.1 定时计算与实时计算 1.2 今日内容 kafkaStream 什么是流式计算kafkaStream概述kafkaStream入门案例Springboot集成kafkaStream 实时计算 用户行为发送消息kafkaStream聚合处理消息更新文章行为数量替换热点文章数据 2 实时流式计算 2…...
数据分析:利用gpt进行归因分析
prompt: 你是某电商平台的一名数据分析师,发现昨日的GMV环比下降了5%,请对这数据变动做出归因。 output: 在电商行业中,GMV(总销售额)是一个非常重要的指标,用于衡量业务的整体健康…...
Python工程师Java之路(p)Module和Package
文章目录 1、Python的Module和Package2、Java的Module和Package2.1、Module2.1.1、分模块开发意义2.1.2、模块的调用 2.2、Package Module通常译作模块,Package通常译作包 1、Python的Module和Package Python模块(Module):1个以.…...
某计费管理系统任意文件读取漏洞
文章目录 声明一、漏洞描述二、漏洞复现声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 一、漏洞描述 蓝海…...
LeetCode:1929.数组串联
1929. 数组串联 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/concatenation-of-array/description/ 给你一个长度为 n 的整数数组 nums 。请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 < = i < n 0 <= i < n …...
记录:移动设备软件开发(activity组件)
目录 前言Android简介和发展Android应用的基本组件介绍Activity组件Activity简介Activity的状态和生命周期 小结 前言 移动设备软件开发是指为智能手机、平板电脑等移动设备设计和开发应用程序的过程。移动设备软件开发涉及多种技术、平台和工具,例如Android、iOS、…...
Redis常用应用场景
Redis是一款开源的基于内存的键值存储系统,它提供了多种数据结构和丰富的功能,适用于各种不同的应用场景。以下是Redis常用的应用场景: 1.缓存:Redis最常见的用途就是作为缓存。由于Redis存储在内存中,读取速度非常快…...
grafana 监控无图解决
环境 k8s 1.26.0 helm 部署的prometheus charts为 prometheus-community/kube-prometheus-stack 问题 部署上之后,发现grafana很多dashboard无图。 处理过程 进grafana dashboards 任意选取一张有问题的图,查看查询语句,如下 sum(container_memory_rss{job="kube…...
Linux--进程-消息队列
一、 消息队列,是消息的链接表,存放在内核中。一个消息队列有一个人标识符(及队列ID)来标识。 1、特点: ①、消息队列是面向记录的,其中的消息具有特定的格式以及待定的优先级。 ②、消息队列独立与发送与…...
MySQL下载安装环境变量配置,常用命令
一、下载安装 mysql官网 下载连接 这个是下载图形安装 https://dev.mysql.com/downloads/installer/ 这个是下载免图形安装 https://dev.mysql.com/downloads/mysql/ 担心个别宝宝没有账号,这边也提供一下,方便下载: 账户:1602404…...
HSRP(热备份路由选择协议)的概念,原理与配置实验
作者:Insist-- 个人主页:insist--个人主页 梦想从未散场,传奇永不落幕,持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步 目录 一、了解HSRP协议 1. 什么是HSRP协议 2、HSRP协议的…...
数据可视化大屏模板 | 保姆级使用教程
近来很多朋友私信咨询怎么下载使用数据可视化大屏模板,在这里就给大家做一个相对简单的教程总结。有需要的朋友记得先收藏保存,以便不时之需。 数据可视化大屏制作软件:奥威BI系统 数据可视化报表模板板块:模板秀 主要操作&…...
qml怎么显示网页
QML显示网页需要使用Qt WebEngine模块,它提供了一个WebEngineView组件,可以用来在QML中显示和交互网页。 首先,确保你已经安装了Qt WebEngine模块。如果你使用的是Qt的在线安装程序,你可以通过Qt Maintenance Tool来添加这个模块。 以下是如何在QML中使用WebEngineView来…...
leetcode分类刷题:二叉树(一、简单的层序遍历)
二叉树的深度优先遍历题目是让我有点晕,先把简单的层序遍历总结下吧:配合队列进行的层序遍历在逻辑思维上自然直观,不容易出错 102. 二叉树的层序遍历 本题是二叉树的层序遍历模板:每次循环将一层节点出队,再将一层节点…...
STM32 CAN使用记录:FDCAN基础通讯
文章目录 目的关键配置与代码轮询方式中断方式收发测试 示例链接总结 目的 CAN是非常常用的一种数据总线,被广泛用在各种车辆系统中。这篇文章将对STM32中FDCAN的使用做个示例。 CAN的一些基础介绍与使用可以参考下面文章: 《CAN基础概念》https://blo…...
GB/T 11945-2019 蒸压灰砂实心砖和实心砌块检测
蒸压灰砂砖是以砂、石灰为主要原料,经坯料制备,压制成型、蒸压养护而成的实心砖,简称灰砂砖,具有良好的耐久性能和强度。 GB/T 11945-2019蒸压灰砂实心砖和实心砌块检测: 测试要求 测试标准 抗压强度 GB/T 2542 GB…...
echarts静态饼图
<div class"cake"><div id"cakeChart"></div></div> import * as echarts from "echarts";mounted() {this.$nextTick(() > {this.getCakeEcharts()})},methods: {// 饼状图getCakeEcharts() {let cakeChart echart…...
Linux中的apt与yum
Linux中的apt与yum apt和yum区别 apt和yum执行流程 apt和yum区别 apt 和 yum 是两种不同的包管理工具,用于在 Linux 操作系统中安装、升级和删除软件包。它们主要用于不同的 Linux 发行版。 命令适用系统aptUbuntu、DebianyumCentOS、Redhat 也就是说࿰…...
DQN算法概述及基于Pytorch的DQN迷宫实战代码
一. DQN算法概述 1.1 算法定义 Q-Learing是在一个表格中存储动作对应的奖励值,即状态-价值函数Q(s,a),这种算法存在很大的局限性。在现实中很多情况下,强化学习任务所面临的状态空间是连续的,存在无穷多个状态,这种情…...
Pytorch学习整理笔记(一)
文章目录 数据处理DatasetTensorboard使用Transformstorchvision数据集使用DataLoader使用nn.Module的使用神经网络 数据处理Dataset 主要是对Dataset的使用: 继承 Dataset实现init方法,主要是进行一些全局变量的定义,在对其初始化时需要赋…...
paddlespeech asr脚本demo
概述 paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别、语音合成、说话人验证、关键词识别、音频分类和语音翻译等功能。 本文介绍利用ps中的asr功能实现批量处理音频文件的demo。…...
算法分析与设计编程题 递归与分治策略
棋盘覆盖 题目描述 解题代码 // para: 棋盘,行偏移,列偏移,特殊行,特殊列 void dividedCovering(vector<vector<int>>& chessBoard, int dr, int dc, int sr, int sc, int size) {if (size 1) return;size / 2…...
Java的XWPFTemplate工具类导出word.docx的使用
依赖 <!-- word导出 --><dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.7.3</version></dependency><!-- 上面需要的依赖--><dependency><groupId>org.ap…...
Science adv | 转录因子SPIC连接胚胎干细胞中的细胞代谢与表观调控
代谢是生化反应网络的结果,这些反应吸收营养物质并对其进行处理,以满足细胞的需求,包括能量产生和生物合成。反应的中间体被用作各种表观基因组修饰酶的底物和辅助因子,因此代谢与表观遗传密切相关。代谢结合表观遗传涉及疾病&…...
机器学习实战-系列教程7:SVM分类实战2线性SVM(鸢尾花数据集/软间隔/线性SVM/非线性SVM/scikit-learn框架)项目实战、代码解读
🌈🌈🌈机器学习 实战系列 总目录 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 SVM分类实战1之简单SVM分类 SVM分类实战2线性SVM SVM分类实战3非线性SVM 3、不同软间隔C值 3.1 数据标准化的影响 如图左边是没…...
DOM渲染与优化 - CSS、JS、DOM解析和渲染阻塞问题
文章目录 DOM渲染面试题DOM的渲染过程DOM渲染的时机与渲染进程的概述浏览器的渲染流程1. 解析HTML生成DOM树:遇到<img>标签加载图片2. 解析CSS生成CSSOM(CSS Object Model): 遇见背景图片链接不加载3. 将DOM树和CSSOM树合并生成渲染树:加载可视节点…...
基于小程序的理发店预约系统
一、项目背景及简介 现在很多的地方都在使用计算机开发的各种管理系统来提高工作的效率,给人们带来很多的方便。计算机技术从很大的程度上解放了人们的双手,并扩大了人们的活动范围,是人们足不出户就可以通过电脑进行各种事情的管理。信息系…...
MD5 算法流程
先通过下面的命令对 md5算法有个感性的认识: $ md5sum /tmp/1.txt 1dc792fcaf345a07b10248a387cc2718 /tmp/1.txt$ md5sum // 从键盘输入,ctrl-d 结束输入 hello, world! 910c8bc73110b0cd1bc5d2bcae782511 -从上面可以看到,一个文件或一…...
TCP/IP协议详解
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是互联网的基本协议,也是国际互联网络的基础。 TCP/IP 不是指一个协议,也不是 TCP 和 IP 这两个协议的合称,而是一个协…...
seo网站排名的软件/南京百度快照优化排名
首先介绍下epoll的基本原理,网上有很多版本,这里选择一个个人觉得相对清晰的讲解(详情见reference): 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内…...
哈尔滨网站建设咨询/百度热搜榜小说排名
关于DAC的原理...
php企业网站多少钱/百度竞价托管
内部类作为父类: //P206 //外部类Out //非静态内部类In //它的子类SubClass//In的对象需要有一个对Out对象的引用 //SubClass的对象里也需要有一个Out对象的引用 //当创建Subclass类的对象时,必须使用Out对象显示调用In的构造器public class Out {public…...
厦门做个网站多少钱/推广赚钱app
用BP神经网络做数据预测有两种形式: 1.根据自身已有的数据预测未来的数据。 比如:根据2000-2012年已知GDP的值预测2013年GDP的值。 求解:用2000,2001,2002的值作为输入,2003作为输出;然后以…...
wordpress文章注册才能预览/软文发稿平台有哪些
http://www.kuozhan.net/plugindevloper/7_x/http://www.zhanhelp.com/discuz/dx25/plug/plugin/plugin_vars.htm插件设计 您在开始论坛插件的设计之前,有必要了解一下我们所推荐的插件设计方式,更好的规范性和兼容性,将使得您设计的插件受…...
网站建设咨询电话/有什么平台可以发广告
与往年相比,今年电商“双11”筹备期提前了一周左右,不少中小商家在国庆期间就开始囤货、招人。除了传统的快递、客服等岗位继续迎来招聘热潮,理货员、仓储员等相关“硬通货”岗位供不应求。据百姓网招聘频道数据统计,相关岗位需求…...