当前位置: 首页 > 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…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...