当前位置: 首页 > news >正文

数据仓库的—数据仓库的体系架构

数据仓库通常采用分层的体系架构设计,作为支撑企业决策分析需求的数据基础设施。典型的数据仓库体系架构由以下三个核心层次组成:

源数据层(Source Layer)

这是数据仓库的数据来源,包括组织内部的各种运营系统,如ERP、CRM、SCM等,以及外部数据源如互联网、社交媒体等。这些系统通常是面向不同应用构建的在线事务处理(OLTP)数据库。源数据层为数据仓库提供了初始的、未经处理的原始数据。

数据集成层(Integration Layer)

这是数据仓库架构的核心环节,也称为ETL(提取-转换-加载)层。它负责从各个源数据系统抽取所需数据,并通过复杂的转换、清理、校验等ETL过程,将这些数据加载到集中的数据存储区(数据仓库或数据集市)中。

数据集成层一般由独立服务器和专门的ETL工具软件来完成。此外,该层还包括元数据存储库,用于管理和维护整个ETL过程的元数据。

数据应用层(Access Layer)

这是数据仓库与最终用户及应用程序交互的层次。它允许用户查询、分析和可视化存储在数据仓库中的数据,为各类商业智能应用提供支持。

数据应用层通常包括以下几个主要组成部分:

  • OLAP(在线分析处理)服务器:支持多维度数据分析和挖掘
  • 数据挖掘工具:用于预测分析、关联规则挖掘等高级分析
  • 查询和报表工具:为分析人员生成各类报表和查询
  • 数据可视化工具:通过图表、仪表板等直观展现数据
  • API 接口:通过API 接口可以对外提供服务

数据仓库的分层

数据仓库的分层是一种将数据仓库中的数据按照不同的粒度和主题进行组织和管理的方法。它可以将数据仓库中的数据划分为不同的层次,每一层都具有特定的功能和特点。

数据仓库分层的目的主要有以下几个:

  • 提高数据仓库的性能和可扩展性。
  • 提高数据仓库的可用性和易用性。
  • 提高数据仓库的安全性。

数据仓库分层的常见方法是将其划分为三层:

  • 操作数据存储层(ODS)
  • 数据仓库层(DW)
  • 数据应用层(ADS)

操作数据存储层(ODS)

ODS是数据仓库的第一个层次,它用于存储来自不同业务系统的原始数据。ODS中的数据通常是未经处理的,它可以用于数据仓库的初始化和更新。

ODS的主要特点如下:

  • 数据量大,更新频率高。
  • 数据格式多样,未经处理。
  • 主要用于数据仓库的初始化和更新。

数据仓库层(DW)

DW是数据仓库的核心层次,它用于存储经过处理和整合的数据。DW中的数据通常是面向主题的,它可以用于数据分析和挖掘。

DW的主要特点如下:

  • 数据量大,更新频率低。
  • 数据格式统一,经过处理。
  • 主要用于数据分析和挖掘。

在实际应用中,数据仓库的分层可以根据具体的业务需求进行调整。例如,可以将DW层细分为数据细节层(DWD)、数据中间层(DWM)和数据汇总层(DWS)。

数据明细层(DWD)

DWD是DW层的第一个层次,它用于存储经过清洗和转换的明细数据。DWD中的数据通常是面向主题的,它可以用于数据仓库的建模和分析。

DWD的主要特点如下:

  • 数据量大,更新频率高。
  • 数据格式统一,经过清洗和转换。
  • 主要用于数据仓库的建模和分析。
数据中间层(DWM)

DWM是DW层的第二个层次,它用于存储经过汇总和加工的中间数据。DWM中的数据通常是面向主题的,它可以用于数据仓库的应用和分析。

DWM的主要特点如下:

  • 数据量中等,更新频率中等。
  • 数据格式统一,经过汇总和加工。
  • 主要用于数据仓库的应用和分析。
数据汇总层(DWS)

DWS是DW层的第三个层次,它用于存储面向应用的数据。DWS中的数据通常是经过汇总和加工的,它可以用于数据展示和决策支持。

DWS的主要特点如下:

  • 数据量小,更新频率高。
  • 数据格式多样,面向应用。
  • 主要用于数据展示和决策支持。

数据应用层(ADS)

ADS是数据仓库的最高层次,它用于存储面向应用的数据。ADS中的数据通常是经过汇总和加工的,它可以用于数据展示和决策支持。

ADS的主要特点如下:

  • 数据量小,更新频率高。
  • 数据格式多样,面向应用。
  • 主要用于数据展示和决策支持。

总结

数据仓库的分层可以带来以下几个好处:

  • 提高数据仓库的性能和可扩展性。
  • 提高数据仓库的可用性和易用性。
  • 提高数据仓库的安全性。
    分层也带来了一定的缺点
  • 增加数据仓库的复杂性。
  • 增加数据仓库的成本。
    数据仓库架构是数据仓库建设的关键环节。合理的数据仓库架构可以提高数据仓库的性能、可扩展性、可用性、易用性和安全性。
    具体来说,数据仓库的分层可以提高数据仓库的性能和可扩展性,因为它可以将数据仓库中的数据按照不同的粒度和主题进行组织和管理,从而使数据用户更容易找到和使用所需的数据。从而减少数据访问和处理的时间和资源消耗。

数据仓库的分层可以提高数据仓库的安全性,因为它可以将数据仓库中的数据按照不同的敏感级别进行组织和管理,从而使敏感数据得到更好的保护

通过分层的体系架构设计,数据仓库实现了数据的抽取、集成、存储、分析等不同功能在层与层之间的有效隔离,使整个系统具有灵活性和可伸缩性。每个层级都可以单独优化和扩展,从而提高整体的性能表现和可维护性。

这种成熟的、经过实践验证的分层体系架构,使数据仓库能够高效地集成企业海量数据资产,并为管理层的分析决策提供有力支持,是实现商业智能不可或缺的数据基础设施。

相关文章:

数据仓库的—数据仓库的体系架构

数据仓库通常采用分层的体系架构设计,作为支撑企业决策分析需求的数据基础设施。典型的数据仓库体系架构由以下三个核心层次组成: 源数据层(Source Layer) 这是数据仓库的数据来源,包括组织内部的各种运营系统,如ERP、CRM、SCM等,以及外部数据源如互联网、社交媒体等。这些系…...

【C/C++基础知识】const 关键字

文章目录 Q&A and 前言const 修饰基本变量初始化const 对象仅在文件内有效 const 的引用应用 指针与 constconst 修饰类成员函数参考写在最后 Q&A and 前言 Q:简要说一说 C 中的 const 关键字,含义以及常见的使用位置 A:const 是 C…...

Docker之数据卷和Dockerfile

Docker之数据卷与Dockerfile的详细使用介绍如下: 一、Docker数据卷 数据卷(volume)是Docker中的一个重要概念,它允许你在容器和宿主机或容器之间共享文件系统。数据卷提供了持久性存储,即使在容器被删除后&#xff0…...

pull拉取最新代码

工作区、暂存区、版本库 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 …...

工控 modbusTCP 报文

Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 Rx 接收报文:00 C9 00 00 00 07 01 03 04 01 4D 00 01 Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 00 C9 事务处理标识符 2字节 00 00 协议标识符 2字节 固定 00 00 00 06 长度 2字节 表示之后的字节总数 (…...

在Ubuntu服务器上快速安装一个redis并提供远程服务

一、快速安装一个Redis 第一步:更新apt源 sudo apt update第二步:下载Redis sudo apt install redis第三步:查看Redis是否已自启动 systemctl status redis二、配置Redis提供远程服务 第一步:先确保6379端口正常开放 如果是…...

玩机进阶教程------手机定制机 定制系统 解除系统安装软件限制的一些步骤解析

定制机 在于各工作室与商家合作定制rom中有一些定制机。限制用户私自安装第三方软件。或者限制解锁 。无法如正常机登陆账号等等。定制机一般用于固定行业或者一些部门。专机专用。例如很多巴枪扫描机型等等。或者一些小牌机型。对于没有官方包的机型首先要导出各个分区来制作…...

Bilstm双向长短期神经网络多输入单输出回归分析

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 Bilstm双向长短期神经网络多输入单输出回归分析 完整代码: Bilstm双向长短期神经网络多输入单输出回归分析.zip资源-CSDN文库 https://download.csdn.net/download/abc991835105/89087121 效果图 结果分析 展望 …...

ELK+Filebeat日志分析系统

一、ELK基本介绍: 1.ELK 简介: ELK平台是一套完整的日志集中处理解决方案(日志系统)。 将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ELK --> ELFK --> ELFKMQ2.ELK组件介绍…...

flex吃干抹净

Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 .box{display: flex;//行内元素也可以使用flex布局//display: inline-flex; }display: flex; 使元素呈现为块级元素,…...

【单片机毕业设计8-基于stm32c8t6的RFID校园门禁系统】

【单片机毕业设计8-基于stm32c8t6的RFID校园门禁系统】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 🔥这里是小殷学长,单片机毕业设计篇8基于stm32的RFID校园门禁系统 🧿创作不易,拒绝白嫖可私 一、功能介绍 -----------…...

uni-app web端使用getUserMedia,摄像头拍照

<template><view><video id"video"></video></view> </template> 摄像头显示在video标签上 var opts {audio: false,video: true }navigator.mediaDevices.getUserMedia(opts).then((stream)> {video document.querySelec…...

2024-简单点-观察者模式

先看代码&#xff1a; # 导入未来模块以支持类型注解 from __future__ import annotations# 导入抽象基类模块和随机数生成器 from abc import ABC, abstractmethod from random import randrange# 导入列表类型注解 from typing import List# 定义观察者模式中的主体接口&…...

STM32—DMA直接存储器访问详解

DMA——直接存储器访问 DMA&#xff1a;Data Memory Access, 直接存储器访问。 DMA和我们之前学过的串口、GPIO都是类似的&#xff0c;都是STM32中的一个外设。串口是用来发送通信数据的&#xff0c;而DMA则是用来把数据从一个地方搬到另一个地方&#xff0c;而且不占用CPU。…...

【JavaEE初阶系列】——网络编程 TCP客户端/服务器 程序实现

目录 &#x1f6a9;TCP流套接字编程 &#x1f36d;ServerSocket API &#x1f36d;Socket API &#x1f36d;TCP服务器 &#x1f36d;TCP客户端 &#x1f6a9;TCP流套接字编程 俩个关键的类 ServerSocket (给服务器使用的类&#xff0c;使用这个类来绑定端口号&#xff0…...

CMake构建OpenCv并导入QT项目过程中出现的问题汇总

前言 再此之前请确保你的环境变量是否配置&#xff0c;这是总共需要配置的环境变量 E:\cmake\bin E:\OpenCv\opencv\build\x64\vc15\bin F:\Qt\Tools\mingw730_64\bin F:\Qt\5.12.4\mingw73_64\bin 问题一&#xff1a; CMake Error: CMake was unable to find a build program…...

AcWing 796. 子矩阵的和——算法基础课题解

AcWing 796. 子矩阵的和 题目描述 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数 x1,y1,x2,y2&#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n&…...

macos 查看 远程服务器是否开放某个端口

想要使用mac查看远程服务器某个端口是否开发&#xff0c;可通过 nc 命令&#xff0c;如下&#xff1a; nc -zv <服务器IP> <端口号>如果该端口开发&#xff0c;结果为&#xff1a;succeeded! Connection to <服务器IP> port <端口号> [类型] succeed…...

GraphQL注入

GraphQL概述 GraphQL是一种查询语言&#xff0c;用于API设计和数据交互&#xff0c;不仅仅用于查询数据库。GraphQL 允许客户端在一个请求中明确地指定需要的数据&#xff0c;并返回预期的结果&#xff1b;并且将数据查询和数据修改分离开&#xff0c;大大增加灵活性。GraphQL…...

以太坊源码阅读01

正所谓区块链&#xff0c;怎能不熟悉区块的数据结构呢&#xff1f;区块的结构体被保存在core/types/block.go文件中&#xff0c;下面是我截取出来的&#xff1a; type Block struct {header *Headeruncles []*Headertransactions Transactionswithdrawals Withdr…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...