2. Kimball的DW/BI架构解析

news2024/11/17 17:48:45

文章目录

      • Kimball的DW/BI架构
        • 1. 业务系统(数据源系统)
        • 2. 获取-转换-加载(ETL)系统
        • 3. 用于支持BI(商业智能)决策的展现区
        • 4. 商业智能应用

  引言:DW,即Data Warehouse,数据仓库;BI,即Business Intelligence,商业智能。数据仓库存在的目的即为商业智能服务,二者相伴相生,故在此讨论DW/BI系统架构。

Kimball的DW/BI架构

  基于Kimball架构的DW/BI环境一般由业务系统(数据源系统)、ETL系统、数据展现、和商业智能应用四部分组成,如下图:
在这里插入图片描述

1. 业务系统(数据源系统)

  它们是操作型系统,用于处理企业的各种事务,如办公OA、采购管理系统、财务系统等。它们一般处于数据仓库之外,且存储的数据的格式和内容各不相同。
  这些业务系统的查询通常是浅显的,以一次一条或有限几条记录的查询方式构成常见的事务流,因而不能实现类似DW/BI系统那样广泛的、无法预料的查询功能。
  多数情况下,业务系统是一种独立的、针对特定业务的应用,它并不会与其他业务系统共享自身的业务数据和公共数据,业务系统之间是割裂的存在。

2. 获取-转换-加载(ETL)系统

  ETL,即Extract Transformation and Load,获取-转换-加载。
  “获取”(采集)是将源数据从业务系统导入数据仓库的第一步,一般情况下,出于性能的考虑,获取的过程中不会对源数据进行任何处理,而是保持数据原样。此步骤即数据仓库分层模型中的ODS(贴源层)。
  获取到数据后,需要进行多种“转换”操作,例如数据清洗、合并不同数据源的数据等。在数据仓库的分层模型中,此步骤大致可对应DWD(数据清晰)和DWS(数据轻度汇总)的操作。
  在常见的大数据平台架构中(如Lambda/Kappa架构),鉴于运行效率的差别,获取和转换两个步骤之间一般通过MQ进行解耦,以提高系统的性能和可扩展性。
  ETL最后的步骤是实际构建和“加载”数据到展现区域的目标维度模型中,它关注维度表的处理,例如代理键分配、查找代码(操作码)以提供适当的描述、拆分或组合列以提供适当的数据值等。相比之下,事实表往往比较庞大,其加载也会耗费大量的时间。
  当维度模型中的事实和维度表都得到了更新、索引、适当聚集,并确保质量良好后,业务用户就可以开始使用这些数据了。

3. 用于支持BI(商业智能)决策的展现区

  由于用户不被允许直接查询ETL区域的数据,展现区就成为了用户浏览和观察业务的唯一途径。目前,业界统一的观点是:展现区要采用星型模式,或者OLAP多维数据库。
  虽然为了提高性能,展现区也会存储一些聚集数据,但更重要的是,其中一定要包含最细粒度的数据(原子数据),以便用户能够获得最准确的查询结果。换句话说,在维度模型中仅有汇总数据,而查询原子数据时必须访问规范化模型(业务系统常见的表结构设计模型)是不被接受的。
  最后,展现区必须使用公共的,一致的维度来建模。否则,维度模型将成为一种孤立的应用。无法实现交互的、隔离的烟筒型数据集合将导致企业不同应用间互不兼容。
  一致的维度是实现企业数据仓库总线结构的基础,将总线结构作为基本框架,即可采用敏捷的、分散的、范围合适的、迭代的方式建立企业数据仓库。

4. 商业智能应用

  Kimball DW/BI架构的最后一个部件是商业智能(Business Intelligence)。在这里,BI指的是为用户提供利用展现区制定分析决策的能力。BI应用可以是简单的,仅作为专用的查询工具,也可以是复杂的,实现复杂的数据挖掘和数据分析的能力。

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

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

相关文章

LLA: Loss-aware Label Assignment for Dense Pedestrian Detection 原理与代码解析

paper:LLA: Loss-aware Label Assignment for Dense Pedestrian Detectioncode:https://github.com/Megvii-BaseDetection/LLA背景标签分配由于对检测器的性能影响很大,在通用目标检测中得到了广泛的研究,但是密集行人检测中的标签…

【SpringCloud复习巩固】Gateway

目录 一.统一网关Gateway 1.1为什么需要网关 1.2网关的技术实现 1.3网关的作用 1.4搭建网关服务 1.5路由断言工厂Route Predicate Factory 1.6路由过滤器GatewayFilter 1.7全局过滤器GlobalFilter 1.8过滤器执行顺序 1.9跨域问题解决 一.统一网关Gateway 1.1为什么需…

《流浪地球2》里的硬核科技,IT人带入了

《流浪地球2》不负期待,上映后口碑和热度一路高歌猛进,霸坐春节档,稳居票房TOP2。硬核科技惊喜不断,如喷出冲天蓝光的行星发动机、洞悉一切的量子计算机、高耸入云的太空电梯…… 逼真的特效质感以及浓厚的重工业美学掀起科技新热…

UE4中修改模型的中心点

UE4系列文章目录 文章目录UE4系列文章目录前言一、增加scenen空组件前言 在UE4中的模型中心点一般都在模型的中点,如果是门这样的模型,我们就不能绕中心点旋转了,不然会觉得很奇怪。但是默认的静态网格体中心点都在物体中心,那我…

易观千帆 | 2022年12月银行APP月活跃用户规模盘点

易观千帆:12月手机银行服务应用活跃人数51688.69万,环比下降1.81%。结合历史数据,2022年9月达到全年高峰的54191.75万,总体来看保持波动增长。12月农商行手机银行服务应用活跃人数1580.59万,环比下降3.01%。农商行手机…

scrapy的概念作用和工作流程

scrapy的概念和流程 学习目标: 了解 scrapy的概念了解 scrapy框架的作用掌握 scrapy框架的运行流程掌握 scrapy中每个模块的作用 1. scrapy的概念 Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。 Scrapy 使…

K8s简介之什么是K8s

1.概述 欢迎来到K8s入门课程。Kubernetes,也被称为K8s或Kube,是谷歌推出的业界最受欢迎的容器编排器。本K8s教程由一系列关于K8s的文章组成。在第一部分,我们将讨论什么是K8s和K8s的基本概念。 本课程是专为初学者开设的,你可以…

Java个人遇到问题汇总

问题汇总1. 虚拟机1.1 CentOS71) 连不上网络问题解决1.2 Docker1) 私服配置无法重启docker问题解决后续2. SSMP2.1 Spring1) 测试类一直空指针问题解决2.2 MyBatis MyBatis-Plus1) IDEA加入方言后SQL语句依然不提示解决2) MP更新数据,更新了其他列问题解决3.SpringBoot3.1 Thym…

nginx学习笔记8(小滴课堂)

nginx第三方利器---OpenRestyLua介绍 OpenRestyLua的相关环境准备 我们先来去安装我们的OpenResty: 我们按照官网的要求去配置就可以了: 按照官网的步骤一步一步去走就可以了。 然后我们开始去安装我们的OpenResty: 这里有非常多的安装包吧,我们到时候需…

硬件---计算机概论

电脑硬件的五大单元 输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等等一堆;主机部分(控制单元、算数逻辑单元与主存储器):这个就是系统单元,被主机机壳保护住了,里面含有一堆板子、CPU 与主存储器…

为什么u盘不显示数据?u盘不显示数据恢复的3种方法

虽然u盘在数据备份、重装系统或其他领域中都能发挥很大的作用,但是在使用过程中难免会遇到一些问题,比如u盘数据不显示!那么,遇到u盘不显示数据怎么解决呢?阅读本文,您将知晓u盘不显示数据的常见原因和相应…

Deep Learning Tuning Playbook(中译版)

前言 由五名研究人员和工程师组成的团队发布了《Deep Learning Tuning Playbook》,来自他们自己训练神经网络的实验结果以及工程师的一些实践建议,目前在Github上已有1.5k星。原项目地址本文为《Deep Learning Tuning Playbook》中文翻译版本&#xff0…

Vuex状态管理器

目录 1、什么是vuex 2、vuex的使用场景: 3、vuex的工作方式: 4、vuex的核心API ​ (1)state: (2)mutations (3)actions:通过actions去触发mutations中…

2023.1.30 作业

一、TF-A的初步移植1、对tf-a源码进行解压tar -xvf tf-a-stm32mp-2.2.r2-r0.tar.gz2、进入tf-a源码顶层目录cd tf-a-stm32mp-2.2.r23、对tf-a源码进行打补丁操作for p in ls -1 ../*.patch; do patch -p1 < $p; done4、配置交叉编译工具链&#xff0c;打开../Makefile.sdk&a…

2023牛客寒假算法基础集训营4(7/13)

清楚姐姐学信息论数学&#xff0c;只需要求x的y次方和y的x次方那个大选哪个&#xff0c;除了2和3时是3多&#xff0c;其他情况都是数越小能代表的数越多AC代码&#xff1a;#include <bits/stdc.h> using namespace std; using LL long long; int main() {ios::sync_with…

ESP32 Arduino学习篇 (三) 蓝牙

简介&#xff1a;1.1蓝牙分类经典蓝牙我们一般说的是BT&#xff0c;低功耗蓝牙我们一般说成BLE。当设备支持蓝牙4.0时&#xff0c;还得进一步确认设备是支持BT单模、BLE单模还是BT和BLE都支持的双模。低功耗蓝牙 (BLE)&#xff1a; 支持蓝牙协议4.0或更高的模块。主打低功耗&am…

手上有了这些工具,明天争取6点下班!

一个优秀的开发者&#xff0c;一定是会利用各种工具来提升自己的开发效率。这段时间&#xff0c;我开始分享优质提升开发效率的工具&#xff0c;集成效率工具&#xff0c;开源集成网站等等&#xff0c;朋友们一直在催更&#xff0c;我知道你很急&#xff0c;但是你先别急&#…

最短路径算法刷题笔记

Dijkstra最短路算法 带负权则无法处理&#xff0c;不能使用Dijkstra算法 Dijkstra算法以 点 出发。D——点从剩下的点里的最短路dis最小的出发 SPFA单源最短路算法 算是bellman-ford算法 对于稀疏图来说&#xff0c;比Dijkstra算法快 SPFA算法可以用于有负权图有负环则不行 …

文档扫描OCR识别_积累

opecncv和python的积累cv2.resize()功能&#xff1a;对图像尺寸调整为指定大小dst cv2.resize(src, dsize, interpolationNone)各参数释义&#xff1a;scr&#xff1a; 输入图像dst: 输出图像dsize&#xff1a; 输出图像的尺寸&#xff0c;为元组格式(x, y)&#xff0c;(300, …

MySQL基础(2)—— 初识MySQL

文章目录客户端 - 服务器架构MySQL的可执行文件1、在命令行解释器中运行可执行文件2、服务器程序和客户端程序2.1 服务器程序 mysqld2.2 客户端程序 mysql注意事项1、客户端 - 服务器连接注意事项2、SQL语句使用注意事项客户端 - 服务器架构 MySQL当中存在客户端和服务器&…