大白话给你讲明白数据仓库

news2024/12/26 21:48:42

数据仓库的本质就是完成从面向业务过程数据的组织管理到面向业务分析数据的组织和管理的转变过程。

数据仓库类比粮食仓库

业务过程数据的组织管理实际上就是由各种业务系统来完成的,比如ERP、CRM、OA等各类业务系统,解决的是基本的业务流程管理。通过数据的录入 Insert、删除Delete、修改 Update、查询 Search ,即用户在业务系统操作界面中做的增删改查操作,这些操作和业务系统底层的数据库例如MySQL、Oracle、SQL Server 完成了数据的交互,数据也沉淀在这些数据库中。

数据仓库 - 派可数据商业智能BI可视化分析平台

各个业务系统的数据库比做是一个个粮食仓库的话,数据仓库就可以简单理解为,要把各个分散的粮食仓库的粮食搬运到一个更大的粮食仓库来集中管理。

不同的独立的粮食仓库中存储的粮食可能不一样,有的粮食坏了可能不能吃了,那么在汇总到大的粮食仓库过程中就需要把这些坏掉的粮食给去除掉。还有在不同的粮食仓库中可能也存了一些同样的粮食,那么在搬运到大的粮食仓库中,就需要去做一些归类合并,按照更好的一种陈列方式将粮食摆放整齐,最后对外支持的时候,就从这个大的粮食仓库直接取粮食就可以了。各类粮食都有,并且有很好的组织形式。

这个从小的粮食仓库搬运、清洗转换、加载粮食的过程就是ETL过程,Extraction 抽取、Transformation 转换、Loading 加载。

数据仓库的本质还是一个数据库,它将各个异构的数据源数据库的数据给统一管理起来,并且完成了质量较差的数据的剔除、格式转换,最终按照一种合理的建模方式来完成源数据组织形式的转变,以更好的支持到前端的可视化分析。

数据仓库 - 派可数据商业智能BI可视化分析平台

在这个过程中,有的时候可能用普通的汽车搬运粮食,有的可能用飞机运粮食,有的可能需要每小时运一次,有的可能就需要每天运一次或者每月运一次,这就是ETL工具的选择和数据抽取调度以及抽取频次的管理。有的时候粮食比较多,一般的粮食仓库容量不够,或者要求效率更高,就会选择不同的粮食仓库架构来进行管理,这就是数据仓库技术框架的选择,是选择大数据技术框架,还是一般的技术框架就可以满足,最终决定了我们要建设这个数据仓库的投入成本。

数据的维度和指标

维度就是看数据的角度,被看的数据就是指标。比如:我想看2020年北京地区某品牌电脑的销售量、销售额和毛利。这里面的2020年、北京地区、某品牌电脑就是维度,分别代表了年维度、区域维度和品牌维度,看的是什么数据呢?就是销售量、销售额和毛利,这三个数据就是被看的指标。

指标 - 派可数据商业智能BI可视化分析平台

这样的一个问题就简单构成了由年、区域、品牌三个维度以及销售量、销售额、毛利三个指标组成的一个简单的分析模型。当然如果需要从其它维度来看这些指标,在构建这个分析模型的时候就可以把这些分析的角度都加进去,形成一个相对比较全面的分析模型。

维度 - 派可数据商业智能BI可视化分析平台

在这个分析模型中,维度可以任意搭配组合,比如只想知道2019年山东地区的销售量、销售额,实际上就只用到了这个分析模型中的两个维度和两个指标,前台的分析就会根据用户所选择的维度和指标组合相应的 SQL 查询语句到后台数据仓库中查询,并将查询的结果返回到前端页面来渲染并呈现出最后所需要的结果。

SQL

这个 SQL 基本的格式就是 SELECT SUM
(销售量)、SUM(销售额)FROM 模型 GROUP BY 时间、区域,时间过滤条件就是2019年,区域过滤条件就是山东地区。

如果只想知道2020年全年的销售量、销售额,还是刚才的哪个 SQL 语句,只不过在GROUP BY 的时候就只会 GROUP BY 时间这个维度,时间过滤条件就是 2020年。

所以,分析维度和分析指标在这个模型中是可以灵活的组织搭配,动态的组织SQL查询反查数据分析模型,从数据分析模型中提取查询结果返回到前端页面,这就是商业智能 BI 分析的基本原理。

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

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

相关文章

PS的安装、背景、背景练习、雪碧图、线性渐变、径向渐变、电影卡片练习——06fontbackground

目录 一、PS的安装 二、背景(background-color、background-image、 background-repeat、background-position、background-clip、background-origin、background-size、background-attachment) 三、背景练习(背景重复—导航条的背景颜色是渐变的) 四、背景练习&#xff08…

【数据结构】深度讲解栈、栈的应用举例、栈和递归的实现教你全面认识栈

目录一.栈1.栈的概念及结构2.栈的实现stack.hStack.c二.栈的应用举例1.数制转换2.有效的括号3.迷宫求解三.栈与递归的实现1.栈和递归2.迷宫问题递归实现3.汉诺塔栈实现一.栈 入栈出栈展示: 1.栈的概念及结构 栈:一种特殊的线性表,其只允许…

【Web开发】Python实现Web服务器(Ubuntu下安装Flask)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

【ESP32+freeRTOS学习笔记-(三)任务】

目录1、任务相关基本概念1.1 任务函数原型1.2 任务句柄TaskHandle_t 及任务控制块TCB_t1.3 任务状态1.4 优先级(Task Priorities)2 创建任务2.1 xTaskCreate2.2 xTaskCreateStatic()3 延迟函数使任务进入阻塞状态vTaskDelay()函数vTaskDelayUntil()函数4…

【C++初阶】vector的模拟实现

文章目录vector的介绍vector的模拟实现成员变量Member functionsconstructor(构造函数)destructor(析构函数)operatorIteratorsbeginendCapacitysizecapacityreserveresizeElement accessoperator[]Modifierspush_backpop_backins…

手办商城系统|Springboot+vue+ElementUI手办商城系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

C语言重点解剖预处理要点速记

1.宏定义字符串的时候一定要带上双引号。 2.程序的翻译,就是把文本代码翻译成二进制代码。分为4个阶段,即预处理,编译,汇编,链接。 3.预处理:头文件展开,去注释,宏替换&#xff0c…

基于Spring cloud + vue 的前后端分离的社团管理系统,数据库采用MYSQL,前端使用 VUE + element

背景 因学校没有成熟的社团管理系统,一为满足学校需求, 其次开源的社团管理项目,多为mvc ssm框架 很少有前后端分离的微服务框架,为了科技的发展, 更好学习解决高并发问题,也为了更好地掌握锤炼新技术&…

Web前端:广州蓝景实训

0基础也能学,5个月的课程时间,从小白到就业课程内容紧贴市场就业要求。广州蓝景前端实训课程,6年时间培养出过千名工程师,成功就业。今天就跟大家分享,蓝景学员的学习体验流程: 一、前端技术学习 1、授课…

3.Kafka

1.定义 1.1传统定义 Kafka是一个分布式的基于发布订阅模式的消息队列,主要应用于大数据的实时处理领域发布订阅:消息发布者不会直接将消息发送给订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息 1.2最新定义 …

计算机网络期末重点考点总复习

第三章数据链路层 CRC检验问题 知识点 例题 要发送的数据为1101011011。采用CRC的生成多项式是 P(X)X^4 X 1试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现? 若数据在传输过程中最后两个1都变成了0,问接…

MacOS系统安装Qt教程

我以为搜索QT下载,安装好QT Creator就能开开心心HelloWorld,然而还是太年轻了,一个 No suitable kit found 报错告诉我,可能没那么简单。于是,我去查了查,大概原因就是苹果处理器和x86不太一样,…

借助这几个工具,轻松实现在手机压缩视频

我有一个习惯,就是会将生活中发生的趣事,或是沿途好看的风景,用手机录制下来,这样的话,后续再回看这些视频的时候,就能勾起相对应的美好回忆。 但是久而久之,这些视频积累太多的话,就…

Springboot 2.7.5 HikariCP 连接池多数据源配置

一. 引言 当前项目遇到需要连接多个数据库的场景,此时需要引入多数据源了. 还有一些诸如以下的场景: 与第三方对接时,有些合作方并不会为了你的某些需求而给你开发一个功能,他们可以提供给你一个可以访问数据源的只读账号,你需要…

Web漏洞扫描篇-Nessus使用

软件介绍 Nessus是一种漏洞扫描器,个人和组织广泛使用它来识别和修复计算机系统中的漏洞。Nessus可以扫描广泛的漏洞,包括缺少补丁、弱密码和配置错误的系统,它可以扫描单个系统或整个网络上的漏洞。Nessus可以在各种平台上运行,…

【云原生进阶之容器】第一章Docker核心技术1.10节——Docker网络模型设计

1 容器网络背景概述 1.1 Linux的namespace+cgroup 先来简要回顾一下前面的内容,namespace和cgroup是Linux 内核的两大特性,namespace的诞生据说就是为了支持容器技术,那么这俩特性到底干了啥呢? - namespace:linux支持多种类型的namespace,包括Network,IPC,PID, Mount…

基于HOG、LBP完成特征工程,基于SVM/RF/XGBOOST/GBDT/CNN/DNN完成人脸识别+表情识别

在我之前的文章中写过很多关于人脸识别和表情识别的文章,今天有一个项目的需求就是需要做两种或者是多种任务,我在开发完对应的模型之后就突然想到了之前做过的人脸识别和表情识别的项目,就想着是否可以基于机器学习/深度学习等方式来同时实现…

算法训练第五十七天 | LeetCode 647、516动态规划结尾

LeetCode 647回文子串 题目简析: 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 思路分析: 本题的难点 主要…

【Aptos与Sui智能合约】(Move长话短说) #03 - 智能合约编写与发布

前言:本篇学习如何在Aptos上发布两个自定义的智能合约 0x1 前置条件 安装好Aptos工具,MacOS、Ubuntu、Windows系统的预编译的安装包下载地址 https://github.com/aptos-labs/aptos-core/releases?q=cli&expanded=true 想自己从源码开始编译,你就下载Source Code 安装…

千万不要把Request传递到异步线程里面,有坑

前几天在网上冲浪的时候看到一篇技术文章,讲的是他把一个 request 请求传递到了线程池里面,然后遇到了一个匪夷所思的情况。 他写了这篇文章,把自己针对这个问题的探索过程分享了出来: 《springboot 中如何正确的在异步线程中使用…