大数据—数仓分层概论

        数据仓库(Data Warehouse)是一个用于集成和存储大量数据的系统,旨在支持企业的决策制定过程。它是一个面向主题的、集成的、非易失的数据集合,用于支持管理决策制定过程。数据仓库的发展源于企业对数据分析和决策支持的需求,以及传统数据库系统在处理大规模数据和复杂查询时的局限性。数据仓库概念创始人在《建立数据仓库》一书中对数据仓库的定义是:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、数据集成的(Integrated)、相对稳定(非易失)的(Non-Volatile)、反映历史变化( 时变)(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。 数据仓库通常指一个数据库环境,而不是一件产品,它提供用户用于决策支持的当前的和历史的数据,它是一整 套包括了etl、建模计算、调度在内的完整的体系。如下图:

一、建仓背景

        在当今数字化时代,数据被广泛认为是企业最宝贵的资产之一。然而,随着数据量的爆炸性增长和数据来源的多样化,企业面临着如何有效管理、存储和分析数据的挑战。为了应对这些挑战,数据仓库成为了企业必不可少的基础设施之一。而数据仓库的分层架构则被认为是构建稳健、高效数据仓库的重要组成部分。

二、数仓分层组成

2.1. 操作型数据层

        操作型数据层是数据仓库架构的基础层,也是数据的最初来源。在这一层,数据以原始的、细粒度的形式存在,通常由各种业务系统、交易系统和数据源产生。操作型数据层的主要任务是收集、存储和管理企业的操作性数据,以满足实时数据处理和业务运营的需求。

功能和特点:

  • 数据源:各种业务系统、交易系统、传感器设备等。
  • 数据形式:原始、细粒度的数据记录。
  • 数据处理:主要进行数据采集、数据传输和数据存储。
  • 数据用途:支持实时业务运营和决策制定。

示例:

  • 零售企业的POS系统产生的每笔销售交易数据。
  • 在线电商平台的用户行为日志数据。
  • 制造业中设备传感器采集的生产数据。

2.2. 数据存储层

        数据存储层是数据仓库架构的核心组成部分,用于存储经过加工和转换的数据。这一层采用多维模型或星型模型等数据模型来组织数据,以支持多维分析和复杂的查询需求。数据存储层可以进一步划分为数据湖、数据仓库和数据集市等不同的存储结构,以满足不同业务需求和使用场景。

功能和特点:

  • 数据模型:采用多维模型或星型模型等数据模型。
  • 数据存储:存储经过加工和转换的数据。
  • 数据组织:按照维度、事实等概念进行数据组织和建模。
  • 数据查询:支持复杂的数据查询和分析操作。

示例:

  • 数据仓库中的事实表和维度表,用于存储销售、客户、产品等业务数据。
  • 数据湖中存储原始的、未加工的数据,以支持数据科学和机器学习应用。
  • 数据集市中存储特定业务领域的数据,例如销售数据集市、财务数据集市等

2.3. 数据访问层

        数据访问层是数据仓库的用户接口,用于提供灵活、高效的数据访问和分析功能。这一层包括各种查询工具、报表工具和可视化工具,以及面向用户的数据服务和API接口。数据访问层的设计应该尽可能地简化用户操作,并提供丰富的数据分析和可视化功能,以帮助用户更好地理解和利用数据。

功能和特点:

  • 用户接口:提供各种查询工具、报表工具和可视化工具。
  • 数据服务:提供面向用户的数据服务和API接口。
  • 数据分析:支持复杂的数据分析和可视化操作。
  • 用户权限:实现数据的权限控制和访问管理。

示例:

  • BI工具(如Tableau、Power BI)用于创建报表和可视化仪表板。
  • 数据探索工具(如Dataiku、Alteryx)用于进行数据探索和建模。
  • 数据服务API用于向应用程序和第三方服务提供数据访问接口。

三、数据仓库四大特征

  1. 集成性(Integration):数据仓库集成了来自不同来源、不同系统的数据,包括内部和外部数据。这意味着数据仓库能够将多个数据源的数据整合到一个统一的数据存储中,使用户能够方便地进行分析和查询。

  2. 主题性(Subject-Oriented):数据仓库按照主题或业务需求来组织和存储数据,而不是按照传统的应用程序或操作系统来组织。这意味着数据仓库中的数据是围绕特定的主题或业务过程进行组织的,使用户能够更轻松地理解和分析数据。

  3. 时间性(Time-Variant):数据仓库中的数据是按照时间顺序进行存储和管理的。这意味着数据仓库中的数据包含了历史数据,用户可以进行时间序列分析或者回溯性分析,以了解数据随时间的变化趋势。

  4. 非易失性(Non-Volatile):数据仓库中的数据一旦被存储,就不会被随意修改或删除,而是被视为历史数据的一部分。即使在数据更新后,旧的数据也会保留在数据仓库中,以支持历史数据的分析和报告。

四、数仓分层的优势

        数仓分层架构在构建数据仓库时具有许多优势,这些优势包括灵活性、性能优化、数据安全和易于维护。以下是每个优势的详细说明和相关示例:

  • 3.1.灵活性

            数仓分层架构提供了灵活性,使得数据仓库可以根据不同用户的需求和使用场景进行定制化配置和扩展。这种灵活性使得企业能够适应不断变化的业务需求和数据分析需求。

    示例:

            在一个零售企业中,数据仓库可能需要支持多个部门的不同分析需求,包括销售、市场营销、库存管理等。通过数仓分层架构,可以为每个部门建立专门的数据访问层,根据其特定的需求和使用场景,提供定制化的数据访问和分析功能。例如,销售部门可能需要实时的销售数据和销售趋势分析,而市场营销部门可能需要进行用户行为分析和推荐系统建模。

    2. 性能优化

            数仓分层架构通过将数据按照不同的层次和用途进行划分和管理,可以提高数据查询和分析的性能和效率。这种性能优化使得用户能够更快速地获取所需的数据,并进行复杂的数据分析和查询操作。

    示例:

            在一个金融机构中,数据仓库可能需要处理大量的交易数据和客户数据。通过数仓分层架构,可以将数据按照不同的层次和时间粒度进行存储和管理,例如将历史数据和实时数据分开存储,将热点数据和冷数据分开存储。这样一来,可以通过对数据存储层进行优化,提高数据查询和分析的性能,减少数据访问的延迟时间,提升用户体验。

    3. 数据安全

            数仓分层架构可以实现数据的逻辑隔离和权限控制,确保数据的安全性和完整性,防止未经授权的访问和操作。这种数据安全性使得企业能够保护敏感数据,防止数据泄露和数据滥用。

    示例:

            在一个医疗保健机构中,数据仓库可能包含大量的患者健康数据和个人身份信息。通过数仓分层架构,可以为不同的用户和角色设置不同的访问权限和数据访问策略,例如将敏感数据加密存储,限制特定用户只能访问特定的数据层次。这样一来,可以有效保护患者隐私,确保数据安全。

    4. 易于维护

            数仓分层架构将数据按照不同的层次和用途进行组织和管理,使得数据仓库的维护和管理更加简单和高效。这种易于维护性使得企业能够降低数据仓库的运营成本,提高数据仓库的稳定性和可靠性。

    示例:

            在一个制造企业中,数据仓库可能需要定期更新生产数据和供应链数据。通过数仓分层架构,可以将数据加载和数据处理过程进行分层和模块化设计,例如将数据抽取、数据转换和数据加载分开进行,将数据清洗和数据质量管理自动化处理。这样一来,可以提高数据仓库的运维效率,降低人工成本,减少数据处理错误和故障风险。

五、总结

        数据仓库的发展背景源于企业对大规模数据集成、数据分析和决策支持的需求,以及数据分析技术的不断发展和成熟,标志着企业逐渐转向数据驱动的企业文化。数据仓库作为一个面向主题的、集成的、非易失的数据集合,为企业提供了一个统一的数据视图和分析环境,促进了数据资产的价值最大化。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tcp服务器端与多个客户端连接

如果希望Tcp服务器端可以与多个客户端连接,可以这样写: tcpServernew QTcpServer(this);connect(tcpServer,SIGNAL(newConnection()),this,SLOT(onNewConnection())); void MainWindow::onNewConnection() {QTcpSocket *tcpSocket;//TCP通讯的Sockettcp…

Linux系统安全及应用(1)

目录 一.账号安全控制 系统账号清理 二.密码安全控制 密码安全控制 三.命令历史限制 命令历史限制 四.限制su切换用户 1)将信任的用户加入到wheel组中 2)修改su的PAM认证配置文件 ​编辑五.PAM认证的构成 六.使用sudo机制提升权限…

PT Application Inspector 4.5 (Linux) - 静态、动态和交互式应用程序安全测试

PT Application Inspector 4.5 (Linux) - 静态、动态和交互式应用程序安全测试 唯一一款提供高质量分析和便捷工具以自动确认漏洞的源代码分析器 请访问原文链接:PT Application Inspector 4.5 (Linux) - 静态、动态和交互式应用程序安全测试,查看最新…

自定义一个RedisTemplate

1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis&…

【09-选择合适的评估指标:Scikit-learn中的性能度量】

文章目录 前言1. 了解评估指标的重要性2. 分类问题的评估指标准确率精确率和召回率F1分数混淆矩阵ROC曲线和AUC3. 回归问题的评估指标均方误差(MSE)均方根误差(RMSE)平均绝对误差(MAE)R分数4. 如何选择评估指标5. 使用Scikit-learn选择评估指标结论前言 在机器学习中,评…

跳出框架:Facebook的创新策略与社交影响

1. 引言 在数字化时代&#xff0c;社交媒体如同一面镜子&#xff0c;反映出我们社会的多元性和变革。Facebook&#xff0c;作为这面镜子中最明亮的一个&#xff0c;不仅改变了人们的日常生活&#xff0c;更深刻地塑造了社交、文化和经济的面貌。本文将深入探讨Facebook的创新策…

React真的好难用

我发现React就像个宗教一样&#xff0c;网络上总有一群信徒。信徒&#xff1a;React天下第一&#xff0c;谁也不能说他不好。 网络上大佬对React的评价一般有几类&#xff1a; React跟Vue比就是手动档和自动档的区别&#xff0c;高手都开手动档。—— 就一个破打工的&#xf…

Swin Transformer—— 基于Transformer的图像识别模型

概述 Swin Transformer是微软研究院于2021年在ICCV上发表的一篇论文&#xff0c;因其在多个视觉任务中的出色表现而被评为当时的最佳论文。它引入了移动窗口的概念&#xff0c;提出了一种层级式的Vision Transformer&#xff0c;将Shifted Windows&#xff08;移动窗口&#x…

c++图论基础(1)

目录 无向图 无向图度 无向图性质 有向图 有向图度 有向图性质 图的分类&#xff1a; 稀疏图&#xff1a; 稠密图&#xff1a; 零图&#xff1a; 有向完全图&#xff1a; 无向完全图&#xff1a; 度序列&#xff1a; 图是由顶点集合(简称点集)和顶点间的边(简称边…

mac上安装Tomcat

1. 简介 Tomcat 是一个开源的 Java 服务器&#xff0c;它实现了 Java Servlet、JavaServer Pages&#xff08;JSP&#xff09;和Java WebSocket 技术。Tomcat 是 Apache 软件基金会的一个项目&#xff0c;是一个轻量级、高性能的 Web 容器。作为一个 Web 服务器&#xff0c;To…

【Java EE】CAS原理和实现以及JUC中常见的类的使用

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

11.JAVAEE之网络原理1

1.应用层(和程序员接触最密切) 应用程序 在应用层这里,很多时候, 都是程序员"自定义"应用层协议的,(当然,也是有一些现成的应用层协议)&#xff08;这里的自定义协议,其实是非常简单的~~协议 >约定,程序员在代码中规定好,数据如何进行传输) 1.根据需求, 明确要传…

了解HTTP代理服务器:优势、分类及应用实践

在我们日常的网络使用中&#xff0c;我们经常听到HTTP代理服务器这个术语。那么&#xff0c;HTTP代理服务器到底是什么&#xff1f;它有什么优势和分类&#xff1f;又如何应用于实践中呢&#xff1f;让我们一起来了解一下。 HTTP代理服务器是一种位于客户端和服务器之间的中间…

中电金信:向“新”而行——探索融合架构的项目管理在保险行业的应用

近年来&#xff0c;险企在政策推动、市场牵引、自身发展、新技术应用日趋成熟等内外部因素的驱动下&#xff0c;积极投身到数字化转型的浪潮中。在拜访各类保险客户和合作项目的过程中&#xff0c;我们发现不少险企在数字化转型中或多或少都面临着战略如何落地、技术如何承接和…

美国洛杉矶站群服务器如何提高网站排名?

美国洛杉矶站群服务器怎么样?美国洛杉矶站群服务器如何提高网站排名?Rak部落小编为您整理发布美国洛杉矶站群服务器如何提高网站排名? 美国洛杉矶站群服务器可以通过以下几种方式帮助提高网站排名&#xff1a; - **提升网站性能**&#xff1a;美国站群服务器通常配备高速CPU…

python-pytorch官方示例Generating Names with a Character-Level RNN的部分理解0.5.03

pytorch官方示例Generating Names with a Character-Level RNN的部分理解 模型结构功能关键技术模型输入模型输出预测实现 模型结构 功能 输入一个类别名和一个英文字符&#xff0c;就可以自动生成这个类别&#xff0c;且以英文字符开始的姓名 关键技术 将字符进行one-hot编…

抖音小店怎么做?新店铺起店就做这3步,核心玩法来了

大家好&#xff0c;我是电商笨笨熊 做抖音小店迟迟不起店&#xff0c;店铺一直没有销量怎么办&#xff1f; 新店铺玩家前期一定都遇到过这种烦恼&#xff0c;毫无头绪不知道该从哪入手&#xff1b; 实际上&#xff0c;想要店铺快速起店&#xff0c;只需要做对三步就够了。 作…

基于Rust的多线程 Web 服务器

构建多线程 Web 服务器 在 socket 上监听 TCP 连接解析少量的 HTTP 请求创建一个合适的 HTTP 响应使用线程池改进服务器的吞吐量优雅的停机和清理注意&#xff1a;并不是最佳实践 创建项目 ~/rust ➜ cargo new helloCreated binary (application) hello package~/rust ➜ma…

一 SSM 整合理解

SSM整合理解 一 SSM整合什么 ​ 以spring框架为基础&#xff0c;整合springmvc&#xff0c;mybatis框架&#xff0c;以更好的开发。 ​ spring管理一切组件&#xff0c;为开发更好的解耦&#xff0c;以及提供框架的组件&#xff0c;如aop&#xff0c;tx。springmvc是表述层框…

Bytebase 2.16.0 - 支持 Oracle 和 SQL Server DML 变更的事前备份

&#x1f680; 新功能 支持 Oracle 和 SQL Server DML 变更的事前备份。 支持在 SQL 编辑器中显示存储过程和函数。 支持兼容 TDSQL 的 MySQL 和 PostgreSQL 版本。 支持把数据库密码存储在 AWS Secrets Manager 和 GCP Secret Manager。 支持通过 IAM 连接到 Google Clou…