首页 > 其他分享 >什么是数据仓库

什么是数据仓库

时间:2023-04-10 23:23:13浏览次数:34  
标签:什么 主题 数据仓库 通常 数据 数据库 数据模型

 

定义

数据仓库是一个用于存储和管理企业数据的集中式数据存储系统,用于支持企业决策和分析活动。

它是一个专门的数据存储区域,用于将来自多个数据源的数据集成在一起,并通过预处理、转换和清洗等操作,将其转换为易于分析和查询的格式。

通常,数据仓库采用面向主题的数据模型,即将同一业务主题相关的数据组织在一起,以方便企业用户进行数据挖掘和分析。

数据仓库的设计和实现需要考虑企业的决策支持需求,并且应该支持快速、准确的数据查询和分析。为此,数据仓库需要采用高效的数据管理和处理技术,如ETL工具、多维数据模型、OLAP技术等,以满足企业的数据分析需求。同时,数据仓库还需要实现数据质量管理、数据安全性管理等功能,以保证数据的可靠性和保密性

 

架构:

数据仓库的三层架构包括:

  1. ODS层(Operation Data Store原始层):该层存储来自源系统的原始数据,包括数据的增量更新和历史变化,数据不做任何处理和聚合,通常使用批处理方式加载数据,以保证数据的完整性和稳定性。

  2. DWD层(Data Warehouse Detail明细层):该层是数据仓库的核心层,主要用于存储经过清洗、转换和集成的数据,

    1. 通常采用面向主题的数据建模方法,即将同一业务主题的数据聚合在一起,便于数据分析和挖掘,同时该层也对数据进行了加工和补充,如增加数据血缘、数据质量管理等功能。

  3. DWB层(Data Warehouse Base基础数据层),又叫轻度汇总层,遵照维度模型的原理,将数据拆成维度和事实,进行维度、事实的统一
  4. DWS层(Data Warehouse Service服务层):该层是数据仓库的应用层,主要用于提供数据查询、报表、分析、挖掘等服务,为企业提供决策支持,

    1.   通常采用多维数据模型和 OLAP 技术,以提高数据访问效率和数据分析能力。此外,DWS层还可以为外部应用提供数据服务,如BI工具、数据挖掘工具、数据可视化工具等。

  主题层

    是数据仓库架构中的一个重要概念,它是指将数据仓库中的数据按照业务主题或功能模块进行组织和分类的层次。主题层通常是数据仓库的第二层,也是数据仓库的核心。

      在主题层中,数据被组织成各个业务主题或者数据主题,例如销售、客户、产品等等,这些主题对于业务分析和决策非常重要。

         主题层可以帮助业务用户更加容易地访问数据,从而更好地支持数据分析和决策。

  主题层的设计通常需要考虑以下几个方面:

  1. 业务需求:主题层应该基于业务需求来设计,以便为业务用户提供可用、有价值的数据。

  2. 数据粒度:主题层应该以合适的数据粒度来组织数据,以支持不同层次的数据分析和汇总。

  3. 数据结构:主题层的数据结构应该是面向主题的,即与业务主题相关的数据应该被组织在一起。

  4. 数据质量:主题层中的数据应该经过清洗、标准化和校验等处理,以保证数据质量和可靠性。

  5. 数据整合:主题层应该整合来自不同数据源的数据,以提供一致的数据视图。

   总的来说,主题层是数据仓库中非常重要的一层,可以帮助用户更好地理解和分析业务数据,并从中获取有价值的信息。

   

区别数据库

数据库通常用于支持在线事务处理(OLTP),用于支持企业的日常业务操作,如交易处理、客户管理、库存管理等。数据库通常设计用于快速插入、更新和删除数据,而且数据模型是规范化的,通常具有高度的一致性和精确性。此外,数据库通常支持并发操作和事务处理,并具有强大的安全和数据访问控制机制。

数据仓库则是用于支持在线分析处理(OLAP),用于支持企业的决策支持和业务分析。

数据仓库通常设计用于高性能查询和大规模数据处理,而且数据模型通常是面向主题的,具有多维数据模型,如星型或雪花型模型。

数据仓库通常包含历史数据,并且数据通常是按照时间序列组织的。此外,数据仓库通常支持数据挖掘、报告和分析等高级功能,并具有适应性、灵活性和可扩展性。

综上所述,数据库主要用于日常业务操作,而数据仓库主要用于决策支持和业务分析。数据库关注的是数据的实时性和一致性,而数据仓库关注的是数据的历史趋势和分析。同时,数据库的数据模型通常是规范化的,而数据仓库的数据模型通常是面向主题的,具有多维结构。

 

 

 

 数据仓库是各种数据库组成起来的吗

 

 

数据仓库并不是各种数据库组成起来的,它是一个独立的、集成的数据存储和分析平台。虽然数据仓库中通常会包含多个数据库或数据源的数据,但这些数据是经过整合、清洗、转换和加工等处理之后得到的,而不是简单地把各种数据库直接组合在一起。在数据仓库中,数据的组织方式和访问方式都与传统数据库不同,因此需要使用特殊的数据存储和查询技术。同时,数据仓库还提供了一系列的数据分析和决策支持工具,以帮助企业更好地利用数据来支持业务决策。

 

数据仓库是一个后端+前端开发的软件吗

是的,数据仓库是一个需要后端和前端开发的软件。后端主要负责数据的采集、整合、清洗、转换和加工等处理,以及数据存储和查询等功能。前端主要负责为业务用户提供数据分析和决策支持的应用程序和工具,例如报表、可视化分析、数据挖掘、预测模型等等。因此,数据仓库需要同时具备数据处理和数据展示两个方面的功能,需要进行后端和前端的开发和集成,以满足企业对数据管理和利用的各种需求。

 

标签:什么,主题,数据仓库,通常,数据,数据库,数据模型
From: https://www.cnblogs.com/mxleader/p/17304704.html

相关文章

  • 什么是安全沙箱技术?如何保护用户隐私和系统安全?
    安全沙箱技术是一种用于保护用户隐私和系统安全的机制,它可以将应用程序限制在一个封闭的运行环境中,防止其对系统和其他应用程序造成潜在的威胁。安全沙箱技术广泛应用于计算机安全领域,如防病毒软件、浏览器、操作系统等,以提高计算机系统的安全性和稳定性。 近年来,随着移动应用......
  • EMI/EMS/EMC有什么关系?
    EMI(Electromagnetic Interference)直译是“电磁干扰”,是指电子设备(即干扰源)通过电磁波对其他电子设备产生干扰的现象。从“攻击”方式上看,EMI主要有两种类型:传导干扰和辐射干扰。电磁传导干扰是指干扰源通过导电介质(例如电线)把自身电网络上的信号耦合到另一个电网络。电磁辐射......
  • 为什么 APISIX Ingress 是比 Emissary-ingress 更好的选择?
    本文从可扩展性和服务发现集成等多个维度对比了APISIXIngress与Emissary-ingress的性能。作者:容鑫,API7.ai云原生技术工程师,ApacheAPISIXCommitter。原文链接背景KubernetesIngress是一种API对象,用于定义集群外部流量如何路由到集群内部服务的规则。IngressCont......
  • 什么是外汇爆仓?如何避免外汇爆仓?
    外汇爆仓是指外汇交易者由于无法满足保证金要求而被迫关闭其未平仓头寸的情况。这通常发生在市场波动剧烈且交易者未能采取适当的风险管理策略的情况下。如何避免外汇爆仓?以下是一些重要的建议:1、制定和遵守交易计划:在开始任何交易之前,交易者应该制定一份详细的交易计划,包括入场和......
  • 本地化部署呼叫中心系统是什么?
    自建型呼叫中心和租用型、SaaS型呼叫中心是相对应的,自建型呼叫中心是把呼叫中心系统部署在自己的服务器中,这里的服务器可以是实体与电脑机箱类似,也可以是虚拟的云服务器。而SaaS租用型的呼叫中心是将系统包部署在公有云服务器中,服务器并不是自己的而是供应商的,且与多家公司共同使......
  • 本地化部署呼叫中心系统是什么?
    自建型呼叫中心和租用型、SaaS型呼叫中心是相对应的,自建型呼叫中心是把呼叫中心系统部署在自己的服务器中,这里的服务器可以是实体与电脑机箱类似,也可以是虚拟的云服务器。而SaaS租用型的呼叫中心是将系统包部署在公有云服务器中,服务器并不是自己的而是供应商的,且与多家公司共同使......
  • mysql 2023-04-09 23:59:59 999 为什么会展示为第二天
    在MySQL中,日期时间类型包括DATE、TIME、DATETIME、TIMESTAMP等。其中,DATETIME和TIMESTAMP类型可以表示具体的日期和时间,包含年、月、日、时、分、秒等信息。当使用DATETIME或TIMESTAMP存储日期时间值时,如果精度达到了秒级别以上,MySQL会进行四舍五入,将精度保留到秒级别......
  • 火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0(上)
     更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群近日,《火山引擎云原生数据仓库ByteHouse技术白皮书》正式发布。白皮书简述了ByteHouse基于ClickHouse引擎的发展历程,首次详细展现ByteHouse的整体架构设计及自研核心技术,为云原生数据......
  • 火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0(上)
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,《火山引擎云原生数据仓库ByteHouse技术白皮书》正式发布。白皮书简述了ByteHouse基于ClickHouse引擎的发展历程,首次详细展现ByteHouse的整体架构设计及自研核心技术,为云原生......
  • 软件测试|什么是压力测试?什么是负载测试?这两个区别是什么?
    前言之前给一个客户做项目时,由于自己对性能测试了解并不深,搞不懂压力测试和负载测试的区别,导致后面还是由负责性能测试的同事来处理,他跟我说了很多关于压力测试和负载测试的区别,现在我总结如下。压力测试压力测试的目的是评估系统的稳定性,确定系统在面临极端情况下的表现,例如:系统承......