数据仓库:智控数据中枢

news2024/12/12 23:30:03

数据仓库

    • 一. 什么是数据仓库?
    • 二. 传统数据库与数据仓库的区别?
    • 三. 数据仓库详解
      • (一). 数据分析
      • (二). 特点
        • 1. 面向主题
        • 2. 集成的
        • 3. 反应历史变化
    • 四. 如何搭建数据仓库
      • (一). 数据平台
      • (二). 开发规范
        • 1. 数据分层
        • 2. 主题域
        • 3. 统计粒度
      • (三). 数据治理
    • 题外话

一. 什么是数据仓库?

数据仓库(DW)是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,支持管理决策。

二. 传统数据库与数据仓库的区别?

传统数据库有关系型数据库(MySQL、PostgreSQL、Oracle…)、非关系型数据库(Mongodb,Redis…),传统数据库主要存放业务数据。那与数据仓库有什么区别呢?我们细听分说。
先说一下两者的区别:
OLTP:联机事务处理,主要是业务数据,需要考虑高并发、考虑事务;
OLAP:联机分析处理,重点主要是面向分析,会产生大量的查询,一般很少涉及增删改。

传统数据库数据仓库
数据库是面向事务的设计数据仓库是面向主题设计
数据库一般存储在线交易数据数据仓库存储的一般是历史快照数据(当然也有实时数仓
数据库设计是尽量避免冗余数据仓库在设计是有意引入冗余
数据库是为捕获数据而设计数据仓库是为分析数据而设计

三. 数据仓库详解

(一). 数据分析

  • 年度销售目标的制定,需要根据以往的历史销售数据进行分析决策,不能随便制定。
  • 优化业务流程
    例如:某电商平台某款沙发,在过去5年主要的购买人群在什么年龄段,在哪个季节购买人数多,这样可以根据这个特点为目标人群设定他们主要的需求和动态分配产生的生产量。

(二). 特点

1. 面向主题

主题是一个抽象的概念,它可以是一个分析领域或业务对象,例如客户、产品、销售等。与传统的面向应用(如基于事务处理系统)的数据组织方式不同,面向主题的数据仓库更关注企业决策分析的需求。

  • 以客户主题为例

    它可能包含客户的基本信息(如姓名、年龄、性别等)、客户的购买历史(购买的产品、购买时间、购买金额等)、客户的投诉记录等数据。这些数据来自不同的源系统,如销售系统、客服系统等。通过将这些与客户相关的数据整合到客户主题下,企业可以进行客户细分、客户价值评估、客户忠诚度分析等决策分析活动。

  • 以产品主题为例
    包括产品的基本属性(如产品名称、型号、规格等)、产品的销售数据(不同时间段的销售量、销售额等)、产品的质量反馈数据(如次品率、客户评价等)。这些数据能够帮助企业了解产品的市场表现、优化产品设计和生产计划等。

2. 集成的
  • 数据仓库的数据通常源自多个分散的业务系统及源系统中的传统数据库,这些上游系统可能包括 MySQL、PostgreSQL、Oracle、MongoDB 等等。由于上游系统难以完全掌控,数据仓库中每个主题所对应的源数据分散于各个数据库中,存在诸多重复或不一致的情况。并且,源于不同联机系统的数据均与特定的应用逻辑紧密相连。

  • 数据仓库的指标数据一般不宜直接从上游系统获取,而是应将相关逻辑沉淀于数据仓库内部。在此过程中,需要全面统计源数据里的所有矛盾之处,诸如字段的同名异议(相同名称但含义不同)、异名同义(不同名称却表示相同含义)、单位不统一以及字长不统一等问题。

  • 在数据处理方面,数据的综合与计算工作不可或缺。部分数据综合工作可在从原有数据库抽取数据时同步开展,但更多的是在数据进入数据仓库之后于其内部进行综合生成,以此确保数据仓库数据的准确性、完整性与可用性,为企业的决策分析提供坚实可靠的数据支撑。

3. 反应历史变化
  • 数据仓库通常每日执行一次全量数据同步操作,将数据传输至数仓表的 t - 1 分区。此操作旨在留存数据库的快照数据,且这些快照数据具有不可修改性,一旦生成便保持原始状态,从而完整地记录了各个历史阶段的数据信息。
  • 数据仓库中的表依据业务特性均设定了特定的生命周期,例如有的表生命周期设定为 732 天,有的则为 3 天等。对于未明确配置生命周期的表,其历史数据将被永久保留,以满足不同业务场景下对数据留存期限的多样化需求。
  • 借助数据仓库每日所记录的数据变化状况,能够开展多维度、深层次的分析工作,精准洞察业务发展的动态趋势、规律特点以及潜在问题等,为企业决策提供全面、可靠且具有时效性的数据依据,助力企业在复杂多变的市场环境中实现科学规划与高效运营。

四. 如何搭建数据仓库

(一). 数据平台

  • 在云服务提供商方面:
    阿里云推出了 DataWorks,它提供了较为全面的数据集成、数据开发、数据质量管控等功能,能够助力企业高效地构建数据仓库与数据湖,实现数据的全生命周期管理,从数据的采集到数据的分析应用都有相应的工具与服务支持,方便企业在阿里云的生态体系内进行大规模的数据处理与分析工作,以满足不同业务场景下的数据需求。
    华为云的 DataArts Studio 也是一款功能强大的数据治理平台,它涵盖了数据架构设计、数据开发、数据资产运营等多个模块。通过其智能化的数据治理能力,可以帮助企业快速整合多源数据,提升数据的质量和价值,并且在数据安全与合规方面也有着完善的保障措施,确保企业数据资产的安全性与稳定性,为企业数字化转型提供坚实的数据基础。
  • 对于自建数据平台而言:
    一些大厂会根据开源组件搭建一套自己的大数据治理平台。例如,腾讯基于 HadoopSpark 等开源组件,结合自身业务特点和技术需求,构建了内部的数据处理与管理体系。通过深度定制和优化这些开源组件,实现了对海量数据的高效存储、快速计算以及精准分析,以支撑其庞大的业务体系,如社交网络数据处理、游戏业务数据挖掘等多方面的数据工作,满足腾讯在不同业务领域对于数据驱动决策的高度依赖。还有字节跳动,同样利用开源技术搭建了适应自身业务快速发展的数据平台,能够灵活应对诸如短视频数据处理、个性化推荐算法所需数据支持等复杂的数据任务,在保障数据高效流转与精准分析的同时,不断提升数据平台的扩展性和适应性,以适应不断变化的业务创新需求。

(二). 开发规范

在这里插入图片描述

1. 数据分层
  • ods(源始层)
    ODS 层作为数据仓库的源头,承担着对源自不同业务系统数据的初步整合工作。它能够有效地集成多源异构数据,通过一系列的数据清洗操作,如统一数据格式,消除其中的冗余信息,从而有力地确保数据在进入数据仓库体系时具备一致性和完整性。
  • dwd(明细层)
    DWD 层聚焦于存储经过深度清洗和转换后的详细数据。在这一层,数据经过了更精细的处理,去除了噪声和异常值,以保证数据的准确性和可用性。
  • dws(汇总层)
    DWS 层的核心任务是针对 DWD 层的数据开展粒度的汇总以及指标的计算工作。在进行数据汇总时,为了保持数据的可追溯性和准确性,应尽量遵循只做加减法的原则。
  • ads【dm】(应用层)
    ADS 层负责将相同粒度的指标数据依据业务指定的主题域进行归整,以便为下游的各类应用(如 BI 看板、APP、AI 等)提供数据支持。
  • dim(维度层)
    DIM 层主要用于存储维度数据,这些维度数据详细地描述了业务实体的各种属性,涵盖了诸如卖场、店铺、客户、商品、时间等多个方面。维度数据为数据仓库中的事实表提供了丰富的上下文信息,使得数据分析能够从多个维度进行深入挖掘和洞察。
2. 主题域
名称英缩描述
交易域trd主要聚焦于交易相关的各类信息,包括交易的订单详情、交易金额、交易时间等,为分析交易行为和交易绩效提供基础数据。
公共域pub涉及例如人员、岗位以及 HR 系统相关的数据内容,可用于人力资源管理分析、组织架构优化等业务场景。
综合域cplx专门处理复杂计算任务以及复合型指标的计算与存储,通常需要整合多个主题域的数据进行综合分析与处理。
财务域fin围绕财务相关的数据展开,如财务报表数据、成本核算数据、资金流数据等,为企业的财务管理和决策提供关键数据支持。
3. 统计粒度
统计周期英缩描述
天统计d以天为单位对数据进行统计汇总,适用于需要分析每日业务变化情况的场景,如每日销售数据统计、每日用户活跃度分析等。
周统计w按照周的时间周期进行数据的统计处理,可用于观察业务在一周内的波动趋势,如每周的客流量变化、每周的订单量趋势等。
月统计m以月为统计粒度,常用于月度财务报表生成、月度业务绩效评估等工作,能够反映出业务在较长时间周期内的整体表现。
年统计y针对年度数据进行汇总分析,对于制定年度战略规划、评估年度业务发展成果等具有重要意义。

(三). 数据治理

  • 科学设定数据生命周期
  • 定期清理废弃任务
  • 周期性整理无用表
  • 强化质量监控机制
  • 启用任务基线报警功能

题外话

我通常将大数据开发平台比作烧菜的锅,,,那么主菜、配菜就是多个源系统,,,烧菜的锅铲就是我们开发语言,,,添加的佐料是代码中的细节,,,不论先放盐,还是先加醋都能烧出一锅菜,但是菜的味道大不相同,,,所以开发规范是定义一个合格的数据仓库标准。

=========================================================

人生得意须尽欢,莫使金樽空对月!
__一个热爱说唱的程序员。
今日份推荐音乐:瘦子E.SO《CHANGE》

=========================================================

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

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

相关文章

【全连接神经网络】核心步骤及其缺陷

前向传播 计算公式(其中一种) x1/x2:输入值,一般是神经网络上一层的输出或者输入数据本身,上图中表示两个节点w11 w13:权重,在神经网络中,权重是学习的参数,表示每个输入…

微服务的问题

1.创建maven项目 然后配置对应的maven地址 2.创建父工程 删掉其中的src文件 在父pom中进行版本依赖和管理 如下图所示 3.在子文件中进行添加依赖 然后刷新maven进行下载

CAPL如何设置或修改CANoe TCP/IP协议栈的底层配置

在CANoe中创建网络节点作为以太网主机时,可以给其配置独立的TCP/IP Stack。 配置的协议栈有一些底层配置参数可以在界面上设置或修改,比如: MTU上图中MTU显示500只是图形界面显示错误,正确值是1500。 TCP延迟确认这些参数也可以通过CAPL动态配置,甚至CAPL还可以配置很多界…

计算机视觉与医学的结合:推动医学领域研究的新机遇

目录 引言医学领域面临的发文难题计算机视觉与医学的结合:发展趋势计算机视觉结合医学的研究方向高区位参考文章结语 引言 计算机视觉(Computer Vision, CV)技术作为人工智能的重要分支,已经在多个领域取得了显著的应用成果&…

微搭低代码AI组件单词消消乐从0到1实践

目录 1 为什么要开发单词消消乐2 需要具备什么功能3 采用什么技术方案实现4 逻辑设计4.1 数据结构设计4.2 游戏的核心逻辑4.3 数据设计 5 代码详解5.1 导入依赖5.2 定义函数组件5.3 数据初始化5.4 状态定义5.5 打乱解释的逻辑5.6 定义选择单词的函数5.7 定义选择解释的函数5.8 …

learn-(Uni-app)输入框u-search父子组件与input输入框(防抖与搜索触发)

1.父子组件u-search &#xff08;1&#xff09;父组件 <!-- 父组件 --> <template> <div><searchBar change"change" search"search"></searchBar> </div> </template> <script> // 子组件搜索 import…

SpringBoot【九】mybatis-plus之自定义sql零基础教学!

一、前言&#x1f525; 环境说明&#xff1a;Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE mybatis-plus的基本使用&#xff0c;前两期基本讲的差不多&#xff0c;够日常使用&#xff0c;但是有的小伙伴可能就会抱怨了&#xff0c;若是遇到业务逻辑比较复杂的sq…

electron 打包 webview 嵌入需要调用电脑摄像头拍摄失败问题

electron 打包 webview 嵌入需要调用电脑摄像头拍摄失败问题 这篇文章是接我cocos专栏的上一篇文章继续写的&#xff0c;我上一篇文章写的是 cocos 开发触摸屏项目&#xff0c;需要嵌入一个网页用来展示&#xff0c;最后通过 electron 打包成 exe 程序&#xff0c;而且网页里面…

webrtc学习----前端推流拉流,局域网socket版,一对一

提示&#xff1a;局域网socket版 文章目录 [TOC](文章目录) 前言一、教程二、webrtc工作流程三、推流端四、拉流五、socket服务六、效果七、备注总结 前言 ‌‌‌‌‌WebRTC&#xff08;Web Real-Time Communication&#xff09;‌是一种实时通讯技术&#xff0c;允许网络应用或…

net/http: TLS handshake timeout 问题

最近系统偶现”net/http: TLS handshake timeout“&#xff0c;而且都集中在同一个机房&#xff0c;这个报错还是第一次见&#xff0c;产生的原因和解决的方案都比较有意思。 现场 报错的信息为&#xff1a; Error sending request:%!(EXTRA *url.ErrorGet "https://**…

HTML简单贪吃蛇游戏

1.功能说明&#xff1a; 游戏网格&#xff1a;一个20x20的网格&#xff0c;每个格子的大小为20x20像素。 蛇的移动&#xff1a;玩家可以通过方向键&#xff08;左、上、右、下&#xff09;控制蛇的移动。 食物生成&#xff1a;食物会在随机位置生成&#xff0c;当蛇吃到食物时…

http 502 和 504 的区别

首先看一下概念&#xff1a; 502&#xff1a;作为网关或者代理工作的服务器尝试执行请求时&#xff0c;从上游服务器接收到无效的响应。503&#xff1a;由于临时的服务器维护或者过载&#xff0c;服务器当前无法处理请求。这个状况是临时的&#xff0c;并且将在一段时间以后恢…

基于SpringBoot医疗挂号系统(计算机毕业设计)+万字说明文档

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 IDE环境&#xff1a; Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境&#xff1a; Tomcat 7.x,8.x,9.x版本均可 操作系统…

【青牛科技】D4800 AB类 立 体 声 耳 机 音 频 功 率 放 大器电路可应用在便携式数字 音 响 设 备 中 作 功 率 放 大 用

概 述 &#xff1a; D4800 是 一 块 AB类 立 体 声 耳 机 音 频 功 率 放 大器电路。 D4800 在5V电 源 时 输 出 功 率 最 高 可 达 290mW(8 Ω 负载&#xff0c; 失真度 10%)。适合在便携式数字 音 响 设 备 中 作 功 率 放 大 用 。 主要特点&#xff1a; 电源电压&#x…

vue3+vite接入iconify,支持离线

前言 找一个图标太难了。Element-plus Icon的不够用。阿里巴巴的iconfont又比较麻烦。如果有自己的UI组件也可以考虑。 为了快速开发&#xff0c;我选择unocss iconify。 网上的教程太多了&#xff0c;建议大家直接看文档&#xff0c;其实配置步骤只有几步&#xff0c;不多。…

SD Express 卡漏洞导致笔记本电脑和游戏机遭受内存攻击

Positive Technologies 最近发布的一份报告揭示了一个名为 DaMAgeCard 的新漏洞&#xff0c;攻击者可以利用该漏洞利用 SD Express 内存卡直接访问系统内存。 该漏洞利用了 SD Express 中引入的直接内存访问 (DMA) 功能来加速数据传输速度&#xff0c;但也为对支持该标准的设备…

网页核心页面设计(第8章)

一、伪元素 伪元素是 CSS 中的一种选择器&#xff0c;用于选择某些特定的元素或元素的一部分&#xff0c;而这些元素本身并不存在于文档的结构中。伪元素使得网页设计师可以更灵活地控制样式&#xff0c;从而可以为元素的内容、框架或文本提供额外的样式&#xff0c;增强网页的…

黑马商城微服务复习(5)

MQ 一、同步调用和异步调用1. 同步调用2. 异步调用 二、RabbitMQ1. 基础使用2. 实际操作 怎么用?3. RabbitMQ虚拟主机 数据隔离4. 在JAVA中实现RabbitMQ5. 交换机种类 一、同步调用和异步调用 1. 同步调用 微服务一旦拆分&#xff0c;必然涉及到服务之间的相互调用&#xff…

【MySQL】表的基本查询(上)

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

【Java学习笔记】Map接口和常用方法

一、 Map接口实现类的 特点[很实用] key是自己存的java对象 value是一个固定的 //当有相同的 k ,就等价于替换. 二、 Map常用方法 &#xff08;根据键–>k&#xff09; 三、Map接口遍历方法 package com.hspedu.map_; import java.util.*; /** * author 韩顺平 * ver…