3. 其他数仓/BI架构解析

news2024/12/28 3:13:31

文章目录

      • 1. 独立数据集市架构
      • 2. 辐射状企业信息工厂Inmon架构
        • 范式建模
        • 维度建模
      • 3. 混合辐射状架构与Kimball架构

  目前,经过长时间的演进,各种数仓架构之间的区别变得越来越小,且不论哪种数仓架构,都会涉及维度建模。下面是几种常见的数仓架构。

1. 独立数据集市架构

在这里插入图片描述
  如图,独立数据集市以部门为单位来构建,不需要考虑企业级别的信息共享和继承。数据的建模也只需要考虑本部门的业务规则和标识,独立的开展工作。部门间的数据是隔离的,数据的维度、标识等也是不一致的。
  独立数据集市的架构是我们极力反对的一种数仓架构,但它也是大型组织中比较常见的数仓架构。它反映了目前许多组织构建其IT架构时,缺乏长远规划,追求低成本和快速开发,不考虑跨部门数据共享的问题。这种架构将导致组织中不同的部门拥有不同的解决方案,它们互不兼容,最终造成数据的不可信和协调成本的无限增加。

2. 辐射状企业信息工厂Inmon架构

在这里插入图片描述
  上图的辐射状企业信息工厂(CIF)方法是由Inmon提出的,故也称其为Imon架构。
  两者最主要的区别是“采用范式建模(即实体-关系模型)的企业数据仓库(EDW)”和“采用维度建模的企业数据仓库总线”。

范式建模

  范式建模从数据流向上看是自上而下的,即从分散异构的数据源 -> 企业数据仓库 -> 数据集市。即先整体观察所有不同源、不同结构、不同业务属性的数据,并且,再将所有源数据划归不同的业务主题,然后在EDW中依据实体-关系(ER)模型为每一个业务主题构建出一套统一的、能存储所有本业务数据的表结构,最后在EDW基础上实现基于维度模型的数据集市(但是由于缺乏“企业数据仓库总线结构”,不同数据集市间的维度模型会各不相同)。
  该方法的优点是能够结合业务系统的数据模型,较方便的实现数据仓库的模型;同一份数据只存放在一个地方,没有数据冗余,保证了数据一致性;数据解耦,方便维护。但同时也带来了缺点:表的数量多;查询时关联表较多使得查询性能降低。
  注意:一般认为,纯CIF架构最极端的形式是不能实现数据仓库的功能的,因其将原子数据固定位难以查询的规范化结构(实体-关系结构)。

维度建模

  维度建模恰恰相反,它是自下而上的,即从数据集市 -> 数据仓库 -> 分散异构的数据源。维度建模是以最终任务(也就是业务功能点)为导向,将任务中要度量的数据作为事实,要查询的条件作为维度,构建基于维度模型的表结构,数据源经 ETL 转化导入数据仓库。
  维度建模的优点是模型结构简单,面向分析,查询性能好,反规范化的设计,开发周期短,能够快速迭代。缺点是存在数据冗余(但由于维度表通常不会太大,数据冗余一般可以接受),预处理阶段开销大,后期维护麻烦。

3. 混合辐射状架构与Kimball架构

在这里插入图片描述
  如上图,最后一种需要讨论的架构是Kimball与Inmon的结合。如果组织已经建立了满足范式模型的EDW,但尚不能按照用户的期望更灵活的实现报表和分析,那么这种混合的架构将十分适合。它将EDW作为统一的数据源,通过离线ETL的方式加载到展现区,且维度模型要与“企业数据仓库总线结构”规定的保持一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/189983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《项目管理精华》读书笔记

《项目管理精华》读后感 《项目管理精华》书中用实例讲解了项目管理的基本流程及一些项目管理技巧,通俗易懂且让人有读下去的欲望。本书按照项目管理的五大过程组的顺序逻辑加上一些作者认为项目管理中比较有价值的内容来介绍的,十大知识领域穿插在这些…

nodejs+vue+elementui在线水果商城购物网站vscode项目

摘 要 1 Abstract 1 1 系统概述 4 1.1 概述 4 1.2课题意义 4 1.3 主要内容 4 2 系统开发环境 5 2.1 Vue技术介绍 5 端技术:nodejsvueelementui 前端:HTML5,CSS3、JavaScript、VUE 系统分为不同的层次:视图层&#…

哪个室内导航地图好用?画地图用什么软件好?

在互联网服务中,所有互联网巨头均斥巨资布局C端的地图服务,喜闻乐见的地图形式极大地方便了人们在日常生活中的查询位置、了解环境、导航等应用需求,因此取得了巨大的成功。但目前这些地图服务数据的颗粒度基本仅到城市级;园区、景…

CVE-2022-32532 认证绕过漏洞分析

前言 结合自身经历,在使用正则表达式去匹配流量特征时,由于正则表达式中元字符“.”不匹配换行符(\n、\r)导致一直提取不上所需的流量。而如今,之前踩过的坑却出现在了Apache Shiro框架之中… 漏洞描述 6月29日&…

《MySQL实战45讲》——学习笔记24 “Master/Slave主备同步机制“

binlog可以用来归档,也可以用来做主备同步,binlog在MySQL的各种高可用方案上扮演了重要角色;本篇主要介绍MySQL主备(M-S结构)的基本原理、不同格式binlog的优缺点和设计者的思考、MySQL双主结构和循环复制问题&#xf…

关于 Linux 系统

个人主页:ζ小菜鸡 大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Linux系统。 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 目录 一、Linux系统的组成 二、Linux 命令行的操作 三、Linux 目录结构 四、文件基本操作 五、用户及文件权限管…

jspssm小型药店药品管理系统

目 录 第一章 概述 1 1.1 研究背景 1 1.2开发意义 1 1.3 研究现状 1 1.4 研究内容 2 1.5论文结构 2 第二章 开发技术介绍 3 2.1 系统开发平台 3 2.2 平台开发相关技术 3 2.2.1 JSP技术介绍 3 2.2.2 Mysql数据库介绍 3 2.2.3 B/S架构 …

excel排名技巧:万能透视表加筛选找出销售冠军

在一组数据中统计单项排名第一的人员名单,如果用函数,我们需要考虑不同项目业绩相等的查找问题,需要考虑同项目业绩相等的查找问题。但如果用数据透视表加筛选,一切就很简单了。最后要么逐条地复制粘贴,要么用技巧合并…

ChatGPT 逆天测试,结局出乎预料

目录一、数学解题能力二、编程能力三、日常生活咨询四、问一些离谱的问题,它有啥反应?五、逆天大测试一、数学解题能力 据说 ChatGPT 会做数学题,给他几个条件不充分的问题,看看他是否真的会思考。 这家伙心理素质真好&#xff…

Uniswap 解析:恒定乘积做市商模型Constant Product Market Maker Model 的Vyper 实作

大纲 一. 前言 二. 恒定乘积做市商模型Constant Product Market Maker Model 1. 计入手续费 2. 程式码结构 3. 演算法核心与实作 4. 段落小结 三. 流动性Liquidity 1. 第一笔流动性注入、决定k值 2. 除了第一笔以外的情况 四. 结语 一. 前言 暨上一篇开始接触了Vyper 后&…

《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下

1.前言 今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识。其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler。 1.1工作场景 做app测试,你是…

SpringMVC的工作原理

SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处…

二叉树29:二叉搜索树中的插入操作

主要是我自己刷题的一些记录过程。如果有错可以指出哦,大家一起进步。 转载代码随想录 原文链接: 代码随想录 leetcode链接:701.二叉搜索树中的插入操作 题目: 给定二叉搜索树(BST)的根节点 root 和要插入…

苏嵌实训——day19

文章目录一、数据库1.1 在ubuntu中安装数据库1.2 数据库的操作1.2.1 数据库命令的分类1.2.2 常用的系统命令1.2.3 数据中的常用的语句1.3 sqlite数据库中常用api1. sqlite3_open2. int sqlite3_close(sqlite3 * db)3. sqlite3_exec4 sqlite3_get_table5 void sqlite3_free_tabl…

JavaEE12-Spring MVC程序开发

目录 1.什么是Spring MVC? 1.1.MVC定义 1.1.1.Model(模型) 1.1.2.View(视图) 1.1.3.Controller(控制器) 1.2.MVC和Spring MVC的关系 2.为什么要学Spring MVC? 3.怎么学Spring MVC? 3.1.Spring …

LeetCode——2319. 判断矩阵是否是一个 X 矩阵

一、题目 如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X 矩阵 : 矩阵对角线上的所有元素都 不是 0 矩阵中所有其他元素都是 0 给你一个大小为 n x n 的二维整数数组 grid ,表示一个正方形矩阵。如果 grid 是一个 X 矩阵 &#xff0c…

Linux的shell入门和版本控制(五)

0、前言 这部分简单介绍了Linux系统中的shell编程 1、服务监听 在Linux中的服务监听,相当于在windows中的任务管理器。常用指令: 示例一:查询进程 ps -aux|grep 要查询的程序名:这样查询会连带这条查询指令的进程一起查询出来。…

【深度学习笔记】LSTM的介绍及理解

问题 LSTM是深度学习语音领域必须掌握的一个概念,久仰大名,现在终于要来学习它了,真是世事无常,之前以为永远不会接触到呢,因此每次碰到这个就跳过了。 前言 LSTM (Long short-term memory,长短期记忆) 是一种特殊的RNN,主要是为了解决长序列训练过程中梯度消失与梯度…

Linux中SELinux、Shell简介、touch命令的应用知识总结

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

Spark SQL的生命旅程之底层解析

一、内容提要一条SQL语句是如何被解析的?一条SQL是如何转换为代码被机器执行的?SQL从逻辑计划到物理计划的转换经历了怎样的优化?二、Antlr4Antlr4 Java编写的强大的语法解析生成器# 命令行使用方式 curl -O https://raw.githubusercontent.c…