我花10个小时,写出了小白也能看懂的数仓搭建方案

目录

一、什么是数据仓库

1.面向主题

2.集成

3.相对稳定

4.反映历史变化

二、数仓搭建的优势

1.性能

2.成本

3.效率

4.质量

三、数仓搭建要考虑的角度

1.需求

2.技术路径

3.数据路径

4.BI应用路径

四、如何进行数仓搭建

1.ODS层

2.DW层

3.DM层

五、写在最后


一听说要搭建数据仓库,你是不是立刻想到复杂的代码、看不懂的专业术语,觉得这是技术大牛才能搞定的活儿?别慌!我花了整整10个小时,把这些看似高深的内容掰开揉碎,整理出一份小白也能轻松看懂的数据仓库搭建方案。无论你是业务人员还是技术新手,这篇干货都能带你快速入门,搞懂数仓是什么、为什么重要以及最关键的——怎么一步步把它建起来!看下去你就知道了。

一、什么是数据仓库

按照传统定义,数据仓库是一个面向主题的、集成的、相对稳定的,并反映历史变化的数据集合,主要就是用来支撑管理人员做决策的

1.面向主题

说白了,就是数据仓库是围着企业具体的业务需求建的,目的很简单,就是让管理效率能提上去。

2.集成

意思是它能把不同平台的数据汇总到一起,打破那种各数据各管一段的孤岛状态。而且在整合的时候,还能顺便做好数据治理,让编码啥的都统一起来,你懂我意思吗?

3.相对稳定

这一点得强调下,数据仓库不会直接连到业务系统上,而是从业务系统里把数据抽出来再工作。这么做就是为了别影响业务系统的性能,不然业务那边卡得不行,就得不偿失了。

4.反映历史变化

就是说数据仓库能存着业务系统过去的数据,还能体现出这些数据的变化,这对以后搞大数据挖掘和分析来说,可是重要的依据。

可能有人会问,那“数仓”又是啥?其实数仓就是数据仓库的简称,它是企业决策支持体系里的核心部分。从管理需求出发,把各个业务系统的数据资源整合起来,用数据处理工具弄出数据仓库,然后用到企业各个业务领域里。

二、数仓搭建的优势

用数据仓库,主要就是为了优化企业的业务流程,监控时间、成本、质量这些关键指标,帮企业做更高效、更精准的管理决策。具体来说,搭数仓的好处主要体现在性能、成本、效率和质量这四个方面。

1.性能

能让我们快速查到需要的数据,减少数据的I/O吞吐,用数据的效率就提上去了,比如宽表就是个例子。

2.成本

能大大减少没必要的数据冗余,还能把计算结果重复利用起来,存储和计算的成本自然就降下来了。

3.效率

当业务或者系统有变化的时候,能保持稳定,就算要扩展也很容易,数据的稳定性和连续性都能提高。

4.质量

好的数据模型能改善数据统计口径不一致的问题,减少数据计算出错的可能。而且数据模型能让业务和技术人员好好沟通,对主要业务的定义和术语达成一致认识,它是跨部门的、中性的,能把所有业务都涵盖进去。

用过来人的经验告诉你,要是企业没建数据仓库,当业务系统升级或者业务有变动时,可能得同时调整好几个业务系统和数据分析模型,不光工作量大,还容易出错。但有了数据仓库就不一样了,只需改改数据仓库的取数模式,新旧版本的数据分析模型就能兼容,前端开发的重复工作能少很多。听着是不是很熟?很多企业没建数仓时都遇到过这种麻烦。

三、数仓搭建要考虑的角度

搭数仓,得从需求、技术和数据路径这几个角度综合考虑。

1.需求

先把企业的实际需求搞清楚,保证数仓建设符合企业的战略目标和业务需求。毕竟数据仓库本质上就是为管理服务提供数据支持的,业务需求永远是核心。

2.技术路径

要选合适的产品和技术架构,这直接关系到数仓的稳定性和可扩展性。技术架构设计、产品的选择和安装都得好好琢磨。

我之前用到的FineDataLink这个工具挺不错的,小到数据库对接、API对接、行列转换、参数设置,大到任务调度、运维监控、实时数据同步、数据服务API分享,都能搞定,满足数据实时同步的场景也没问题,在帮我建数据仓库时省了不少力。FineDataLink体验地址→免费FDL激活(复制到浏览器打开)

3.数据路径

维度建模、物理设计、ETL设计和开发都不能马虎,得保证数据的准确性和高效性。

4.BI应用路径

它关系到数据仓库建好后怎么用到实际业务中,是衡量数仓能不能成功落地的重要标准,像BI应用设计、BI应用开发都得考虑到。

四、如何进行数仓搭建

具体来说,构建数据仓库时,第一步就是梳理业务,把核心业务链路和数据表弄明白,再根据这些划分管理主题。然后从这些主题里找出对应的事实表、维度表,把指标梳理、收集好再建模

这里得说说数仓的分级架构,虽然不是所有数仓都按同一个标准分层,但大多会分成ODS层、DW层和DM层。

1.ODS层

也就是接口存储层,主要存从各个系统拿过来的原始数据,像财务系统、办公系统这些。会对接口数据做清洗、转码、增量转全量这些操作,表名和字段名也会统一规范,能作为取数、分析、挖掘的基础数据。而且ODS层的数据得和源系统一一对应,不能把维度弄混了。

2.DW层

就是数据仓库层,也叫汇总层。会把各个业务系统的数据整合起来,通过维度建模和业务逻辑处理,形成各种宽表。它是面向主题组织数据的,会按业务需要构建多维模型数据,做主题域内的数据整合、相关业务的拆分和汇总。从数据粒度看,是汇总级的数据和纵宽表数据,但从广度来说,所有业务数据都涵盖了。

3.DM层

也就是应用层,也叫数据集市。这一层是面向主题组织数据的,按业务需要构造多维模型数据,数据能直接用来分析展示。它会基于之前定义的主题生成关键指标,用到各种分析展示场景里,还会把处理好的数据共享给可视化报表、分析数据模型这些应用。同时,这一层也负责专题类数据模型的建设。

数仓实施通常会按调研、详细设计、实施、测试上线这个步骤来。调研的时候,除了业务需求,数据标准的治理和技术架构设计也得关注。

从功能角度看,数据仓库取完数据后,主要服务于三个方面:

  • 数据服务:包括提供AR分析、数据共享、数据模型构建、统一数据采集等功能;
  • 数据分析:通过搭建不同的分析模型,深入挖掘各主题内容;
  • 数据指标:通过数仓搭建,在各部门间统一指标口径,实现指标的共享与实践。

五、写在最后

看,搭建数据仓库并没有想象中那么遥不可及吧?它就像是为企业杂乱的数据建一个高效、有序的“中央厨房”。遵循清晰的业务需求、选择合适的技术工具、按部就班地进行数据分层,从原始数据层ODS -> 加工整合层DW -> 应用集市层DM,你也能逐步构建起支撑企业决策的数据仓库。这份省去了你半年摸索时间的方案,希望能成为你开启数仓实践的实用指南。别再让数据孤岛拖后腿了,行动起来,发挥数据的价值帮助业务的增长吧!

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

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

相关文章

OBB旋转框检测配置与训练全流程(基于 DOTA8 数据集)

🚀 YOLO交通标志识别实战(五):OBB旋转框检测配置与训练全流程(基于 DOTA8 数据集) 在专栏前面四篇里,我们完成了: ✅ Kaggle交通标志数据集下载并重组标准YOLO格式 ✅ 训练/验证集拆…

uniapp制作一个视频播放页面

1.产品展示2.页面功能(1)点击上方按钮实现页面跳转&#xff1b;(2)点击相关视频实现视频播放。3.uniapp代码<template><view class"container"><!-- 顶部分类文字 --><view class"categories"><navigator class"category-…

8.卷积神经网络基础

8.1 卷积核计算 import torch from torch import nn import matplotlib.pyplot as plt def corr2d(X,k):#计算二维互相关运算h,wk.shape#卷积核的长和宽Ytorch.zeros((X.shape[0]-h1,X.shape[1]-w1))#创建(X-H1,X-W1)的全零矩阵for i in range(Y.shape[0]):for j in range(Y.s…

【每天一个知识点】子空间聚类(Subspace Clustering)

“子空间聚类&#xff08;Subspace Clustering&#xff09;”是一种面向高维数据分析的聚类方法&#xff0c;它通过在数据的低维子空间中寻找簇结构&#xff0c;解决传统聚类在高维空间中“维度诅咒”带来的问题。子空间聚类简介在高维数据分析任务中&#xff0c;如基因表达、图…

《汇编语言:基于X86处理器》第7章 整数运算(2)

本章将介绍汇编语言最大的优势之一:基本的二进制移位和循环移位技术。实际上&#xff0c;位操作是计算机图形学、数据加密和硬件控制的固有部分。实现位操作的指令是功能强大的工具&#xff0c;但是高级语言只能实现其中的一部分&#xff0c;并且由于高级语言要求与平台无关&am…

JVM故障处理与类加载全解析

1、故障处理工具基础故障处理工具jps&#xff1a;可以列出正在运行的虚拟机进程&#xff0c;并显示虚拟机执行主类&#xff08;Main Class&#xff0c;main()函数所在的类&#xff09;名称以及这些进程的本地虚拟机唯一ID&#xff08;LVMID&#xff0c;Local Virtual Machine I…

Python 第三方库的安装与卸载全指南

在 Python 开发中&#xff0c;第三方库是提升效率的重要工具。无论是数据分析、Web 开发还是人工智能领域&#xff0c;都离不开丰富的第三方资源。本文将详细介绍 Python 第三方库的安装与卸载方法&#xff0c;帮助开发者轻松管理依赖环境。 一、第三方库安装方法 1. pip 工具…

RabbitMQ 高级特性之消息分发

1. 为什么要消息分发当 broker 拥有多个消费者时&#xff0c;就会将消息分发给不同的消费者&#xff0c;消费者之间的消息不会重复&#xff0c;RabbitMQ 默认的消息分发机制是轮询&#xff0c;但会无论消费者是否发送了 ack&#xff0c;broker 都会继续发送消息至消费者&#x…

Linux操作系统从入门到实战:怎么查看,删除,更新本地的软件镜像源

Linux操作系统从入门到实战&#xff1a;怎么查看&#xff0c;删除&#xff0c;更新本地的软件镜像源前言一、 查看当前镜像源二、删除当前镜像源三、更新镜像源四、验证前言 我的Linux版本是CentOS 9 stream本篇博客我们来讲解怎么查看&#xff0c;删除&#xff0c;更新国内本…

两台电脑通过网线直连形成局域网,共享一台wifi网络实现上网

文章目录一、背景二、实现方式1、电脑A&#xff08;主&#xff09;2、电脑B3、防火墙4、验证三、踩坑1、有时候B上不了网一、背景 两台windows电脑A和B&#xff0c;想通过**微软无界鼠标&#xff08;Mouse without Borders&#xff09;**实现一套键盘鼠标控制两台电脑&#xf…

Java Reference类及其实现类深度解析:原理、源码与性能优化实践

1. 引言&#xff1a;Java引用机制的核心地位在JVM内存管理体系中&#xff0c;Java的四种引用类型&#xff08;强、软、弱、虚&#xff09;构成了一个精巧的内存控制工具箱。它们不仅决定了对象的生命周期&#xff0c;还为缓存设计、资源释放和内存泄漏排查提供了基础设施支持。…

华为云对碳管理系统的全生命周期数据处理流程

碳管理系统的全生命周期数据处理流程包含完整的数据采集、处理、治理、分析和应用的流程架构,可以理解为是一个核心是围绕数据的“采集-传输-处理-存储-治理-分析-应用”链路展开。以下是对每个阶段的解释,以及它们与数据模型、算法等的关系: 1. 设备接入(IoTDA) 功能: …

大模型安全风险与防护产品综述 —— 以 Otter LLM Guard 为例

大模型安全风险与防护产品综述 —— 以 Otter LLM Guard 为例 一、背景与安全风险 近年来&#xff0c;随着大规模预训练语言模型&#xff08;LLM&#xff09;的广泛应用&#xff0c;人工智能已成为推动文档处理、代码辅助、内容审核等多领域创新的重要技术。然而&#xff0c;…

1.2.2 计算机网络分层结构(下)

继续来看计算机网络的分层结构&#xff0c;在之前的学习中&#xff0c;我们介绍了计算机网络的分层结构&#xff0c;以及各层之间的关系。我们把工作在某一层的软件和硬件模块称为这一层的实体&#xff0c;为了完成这一层的某些功能&#xff0c;同一层的实体和实体之间需要遵循…

实训八——路由器与交换机与网线

补充——基本功能路由器&#xff1a;用于不同逻辑网段通信的交换机&#xff1a;用于相同逻辑网段通信的1.网段逻辑网段&#xff08;IP地址网段&#xff09;&#xff1a;IP地址的前三组数字代表不同的逻辑网段&#xff08;有限条件下&#xff09;&#xff1b;IP地址的后一组数字…

C++——构造函数的补充:初始化列表

C中&#xff0c;构造函数为成员变量赋值的方法有两种&#xff1a;构造函数体赋值和初始化列表。构造函数体赋值是在构造函数里面为成员变量赋值&#xff0c;如&#xff1a;class Data { public://构造函数体赋值Data(int year,int month,int day){_year year;_month month;_d…

代码随想录|图论|12岛屿周长

leetcode:106. 岛屿的周长 题目 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;岛屿是被水包围&#xff0c;并且通过水平方向或垂直方向上相邻的陆地连接而成的。 你可以假设矩阵外均被水包围。在矩阵中恰好拥有…

开发制作模仿参考抄别人的小程序系统

很多老板看见别人公司的小程序系统界面好看&#xff0c;功能强大&#xff0c;使用人数多。就想要抄袭模仿参考别人家的小程序系统。想要了解一下有没有侵权风险&#xff0c;以及怎么开发制作开发制作模仿参考抄别人的小程序系统。首先回答第一个问题&#xff0c;只要你的小程序…

c语言中的数组IV

数组的集成初始化 集成初始化的定位 数组的大小 数组的赋值 不能直接将一个数组a赋值给数组b&#xff0c;只能通过遍历来实现 遍历数组 示例——检索元素在数组中的位置#include <stdio.h> int search(int key,int a[],int length); int main(void){int a[] {2,4,6,7,1,…

LDO选型

目录 一、最大输出电流 二、最大输入电压 三、最大功率&#xff1a;Pmax 四、负载动态调整率 五、输入电源纹波抑制比&#xff1a;PSRR 一、最大输出电流 参考TI LM1117IMPX-3.3/NOPB数据手册 由于LDO转换效率很低&#xff0c;LDO的标称最大电流 ≥ 实际最大负载电流 1…