数据仓库-相关概念

这篇具有很好参考价值的文章主要介绍了数据仓库-相关概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介      

 数据仓库是一个用于集成、存储和管理大量数据的系统。它用于支持企业决策制定过程中的数据分析和报告需求。数据仓库从多个来源收集和整合数据,并将其组织成易于查询和分析的结构。

        数据仓库的主要目标是提供高性能的数据访问和分析能力,以便用户可以从不同的角度和层次上理解和解释数据。它通常包含历史数据,用于支持趋势分析和预测模型的建立。

        数据仓库不仅仅是一个存储数据的地方,它还提供了一系列工具和技术来支持数据清洗、转换、集成和加载等过程。这些过程通常被称为ETL(抽取、转换和加载),用于将原始数据从各种源系统中提取出来,并将其转换为适合分析和报告的格式。

        通过数据仓库,企业可以更好地理解自己的业务和客户行为,发现潜在的商业机会,改善运营效率,并制定更明智的决策。它在各种行业和领域都被广泛应用,例如零售、金融、医疗保健和制造业等。

OLAP和OLTP

        OLAP(联机分析处理)和OLTP(联机事务处理)是两种不同的数据处理方式,用于支持不同的业务需求。

        OLAP是一种面向分析和决策支持的数据处理方式。它主要针对复杂的查询和多维度的数据分析,并提供灵活的数据切片、钻取和汇总等功能。OLAP系统通常基于多维数据模型,例如星型模型或雪花模型,它们使用聚集技术和预计算来提供高性能的查询响应。OLAP适用于需要进行复杂数据分析、报告和决策制定的场景,如销售分析、业务智能和预测模型等。

        OLTP是一种面向事务处理的数据处理方式。它主要关注数据的录入、修改和查询等操作,以支持日常业务的进行。OLTP系统通常基于关系型数据库,用于处理实时的交易和业务流程。它的目标是提供高并发性、数据一致性和事务处理能力。OLTP适用于需要处理大量事务、保证数据准确性和实时性的场景,如在线银行交易、订单处理和库存管理等。

        总结来说,OLAP适用于复杂的分析和决策支持,强调对数据的多维度切片和聚合分析;而OLTP适用于日常的事务处理,强调对数据的录入、修改和查询操作。在实际应用中,两者通常结合使用,以满足不同层次和类型的数据处理需求。

特征

  • 面向主题: 主题是一个抽象的概念,是较高层次上 数据综合、归类并进行分析利用的抽象
  • 集成性: 主题相关的数据通常会分布在多个操作型 系统中,彼此分散、独立、异构。需要集 成到数仓主题下
  • 非易失性: 也叫非易变性。数据仓库是分析数据的平台,而不是创造数据的平台。
  • 时变性: 数据仓库的数据需要随着时间更新,以适 应决策的需要

分层

数据仓库-相关概念,Hadoop相关,hive,ETL,数据仓库,大数据

数据仓库为什么要分层

把复杂问题简单化,每一层只处理简单的任务,方便定位问题;
减少重复开发,规范数据分层,通过中间层数据能够减少重复计算,且增加计算结果的复用性;
隔离原始数据,不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。

DW五层架构的特点

细化DW建模,对DW中各个主题业务建模进行了细分,每个层次具有不同的功能。保留了最细粒度数据,满足了不同维度、不同事实的信息;
满足数据重新生产,不同层次的数据支持数据重新生成,无需备份恢复,解决了由不同故障带来的数据质量问题,消除了重新初始化数据的烦恼;
减少应用对DW的压力,以业务应用驱动为向导建模,避免直接操作基础事实表,降低数据获取时间;
快速适应需求变更和维度变化,明细基础数据层稳定,适应前端应用层业务需求变更,所有前端应用层模型之间不存在依赖,需求变更对DW整个模型影响范围小,能适应短周期内上线下线需求。

数据仓库-相关概念,Hadoop相关,hive,ETL,数据仓库,大数据

ODS(Operational Data Store)原始数据层

数据准备区,也称为贴源层。数据仓库源头系统的数据表通常会原封不动的存储一份,以此减少对业务系统的影响,也是后续数据仓库加工数据的来源。业务DB基本上是直接同步过来,LOG主要做结构化。

ODS层数据的来源方式

业务库
可使用Sqoop来抽取,例如每天定时抽取一次;
实时接入,考虑用canal监听MySQL的binlog;
Flume、Sqoop、Kettle等ETL工具导入到HDFS,并映射到HIVE的数据仓库表中。
埋点日志
日志一般以文件的形式保存,可以选择用Flume定时同步;
可以用Spark Streaming或者Flink来实时接入;
Kafka。
消息队列
来自ActiveMQ、Kafka的数据等。
1.3.2 建模方式及原则
从业务系统增量抽取;
保留时间由业务需求决定;
可分表进行周期存储;
数据不做清洗转换与业务系统数据模型保持一致;
按主题逻辑划分。
针对HDFS上的用户行为数据和业务数据,我们如何规划处理?

保持数据原貌不做任何修改,起到备份数据的作用;
数据采用压缩,减少磁盘存储空间;
创建分区表,防止后续的全表扫描。

DWD(Data Warehouse Detail)明细数据层

DWD是业务层与数据仓库的隔离层,主要对ODS数据层做一些数据清洗(去除空值、脏数据、超过极限范围的数据)、规范化、维度退化、脱敏等操作。

1.4.1 建模方式及原则
需要构建维度模型,一般采用星型模型,呈现的状态一般为星座模型(由多个事实表组合,维表是公共的,可被多个事实表共享);
为支持数据重跑可额外增加数据业务日期字段,可按年月日进行分表,用增量ODS层数据和前一天DWD相关表进行merge处理;
粒度是一行信息代表一次行为,例如一次下单。
1.4.2 维度建模步骤
选择业务过程:在业务系统中,挑选感兴趣的业务线,比如下单业务,支付业务,退款业务,物流业务,一条业务线对应一张事实表。如果是中小公司,尽量把所有业务过程都选择。如果是大公司(1000多张表),选择和需求相关的业务线。
声明粒度:数据粒度指数据仓库的数据中保存数据的细化程度或综合程度的级别。声明粒度意味着精确定义事实表中的一行数据表示什么,应该尽可能选择最小粒度,以此来应各种各样的需求。典型的粒度声明如下:订单当中的每个商品项作为下单事实表中的一行,粒度为每次。每周的订单次数作为一行,粒度为每周。每月的订单次数作为一行,粒度为每月。如果在DWD层粒度就是每周或者每月,那么后续就没有办法统计细粒度的指标了。所以建议采用最小粒度。
确定维度:维度的主要作用是描述业务是事实,主要表示的是“谁,何处,何时”等信息。确定维度的原则是:后续需求中是否要分析相关维度的指标。例如,需要统计,什么时间下的订单多,哪个地区下的订单多,哪个用户下的订单多。需要确定的维度就包括:时间维度、地区维度、用户维度。维度表:需要根据维度建模中的星型模型原则进行维度退化。
确定事实:此处的“事实”一词,指的是业务中的度量值(次数、个数、件数、金额,可以进行累加),例如订单金额、下单次数等。在DWD层,以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。事实表可做适当的宽表化处理。
注意:DWD层是以业务过程为驱动。DWS层、DWT层和ADS层都是以需求为驱动,和维度建模已经没有关系了。DWS和DWT都是建宽表,按照主题去建表。主题相当于观察问题的角度。对应着维度表。

DWS(Data Warehouse Service)服务数据层

DWB:data warehouse base 数据基础层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。
以DWD为基础,按天进行轻度汇总。粒度是一行信息代表一天的行为,例如一天下单次数。

1.5.1 功能
DWB是根据DWD明细数据经行清晰转换,如维度转代理键、身份证清洗、会员注册来源清晰、字段合并、空值处理、脏数据处理、IP清晰转换、账号余额清洗、资金来源清洗等;
DWS是根据DWB层数据按各个维度ID进行粗粒度汇总聚合,如按交易来源,交易类型进行汇合。
1.5.2 建模方式及原则
聚合、汇总增加派生事实;
关联其它主题的事实表,DW层可能会跨主题域;
DWB保持低粒度汇总加工数据,DWS保持高粒度汇总数据;
数据模型可能采用反范式设计,合并信息等。

DWT(Data Warehouse Topic)数据主题层

以DWS为基础,按主题进行汇总。粒度是一行信息代表累积的行为,例如用户从注册那天开始至今一共下了多少次单。

1.6.1 功能
可以是一些宽表,是根据DW层数据按照各种维度或多种维度组合把需要查询的一些事实字段进行汇总统计并作为单独的列进行存储;
满足一些特定查询、数据挖掘应用。
1.6.2 建模方式及原则
尽量减少数据访问时计算,优化检索;
维度建模,星型模型;
事实拉宽,度量预先计算;
分表存储。

ADS(Application Data Store)数据应用层

面向实际的数据需求,同步到关系型数据库服务RDS。该层主要是提供数据产品和数据分析使用的数据,一般会存储在ES、mysql等系统中供线上系统使用。我们通过说的报表数据,或者说那种大宽表,一般就放在这里。为应用层,这层数据是完全为了满足具体的分析需求而构建的数据,也是星形结构的数据。应用层为前端应用的展现提现数据,可以为关系型数据库组成。

1.7.1 功能
ST层面向用户应用和分析需求,包括前端报表、分析图表、KPI、仪表盘、OLAP、专题等分析,面向最终结果用户;
适合作OLAP、报表模型,如ROLAP、MOLAP;
根据DW层经过聚合汇总统计后的粗粒度事实表。
1.7.2 建模方式及原则
保持数据量小;
维度建模,星形模型;
各位维度代理键+度量;
增加数据业务日期字段,支持数据重跑;
不分表存储。
1.8 其他层
数据缓存层:用于存放接口方提供的原始数据的数据库层,此层的表结构与源数据保持基本一致,数据存放时间根据数据量大小和项目情况而定,如果数据量较大,可以只存近期数据,将历史数据进行备份。此层的目的在于数据的中转和备份。
临时数据表层:存放临时测试数据表(Temp表),或者中间结果集的表。文章来源地址https://www.toymoban.com/news/detail-821313.html

到了这里,关于数据仓库-相关概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2、hive相关概念详解--架构、读写文件机制、数据存储

    1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解 2、hive相关概念详解–架构、读写文件机制、数据存储 3、hive的使用示例详解-建表、数据类型详解、内部外部表、分区表、分桶表 4、hive的使用示例详解-事务表、视图、物化视图、DDL

    2024年02月09日
    浏览(47)
  • 数据仓库与ETL:数据仓库设计和ETL流程

    数据仓库与ETL:数据仓库设计和ETL流程 数据仓库是一种用于存储、管理和分析大量历史数据的系统。它通常用于企业、组织和政府等机构,以支持决策过程。数据仓库的核心是ETL(Extract、Transform、Load)流程,它包括数据提取、数据转换和数据加载三个阶段。本文将深入探讨数

    2024年03月08日
    浏览(39)
  • 数据仓库—ETL工具与技术:数据仓库的坚实基石

    作为一名长期从事数据仓库领域的专业人士,我深知ETL(Extract, Transform, Load)工具和技术在构建和维护数据仓库中的核心作用。ETL不仅是数据流动的桥梁,更是确保数据质量和支持业务智能决策的关键环节。在这篇文章中,我将分享对ETL工具和技术的深入理解,以及它们在实

    2024年04月13日
    浏览(44)
  • 大数据扫盲(1): 数据仓库与ETL的关系及ETL工具推荐

    在数字化时代,数据成为了企业决策的关键支持。然而,随着数据不断增长,有效地管理和利用这些数据变得至关重要。数据仓库和ETL工具作为数据管理和分析的核心,将帮助企业从庞杂的数据中提取有价值信息。 ETL代表“Extract, Transform, Load”,是一种用于数据集成和转换的

    2024年02月13日
    浏览(44)
  • ETL详解--数据仓库技术

      一、ETL简介 ETL ,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。它是一种数据处理过程,用于从不同的数据源中提取数据、对数据进行转换和清洗,并将处理后的数据加

    2024年02月02日
    浏览(40)
  • 数据仓库的ELT/ETL

    ETL 和 ELT 有很多共同点,从本质上讲,每种集成方法都可以将数据从源端抽取到数据仓库中,两者的区别在于数据在哪里进行转换。 ETL – 抽取、转换、加载 从不同的数据源抽取信息,将其转换为根据业务定义的格式,然后将其加载到其他数据库或数据仓库中。另一种 ETL 集

    2024年04月16日
    浏览(45)
  • ETL数据集成和数据仓库的关键步骤

    在当今数据驱动的世界中,ETL(提取、转换和加载)过程在构建可靠和高效的数据仓库中扮演着关键角色。ETL数据集成和数据仓库的关键步骤对于数据质量和决策支持至关重要。本文将介绍ETL数据集成和数据仓库构建的关键步骤,以帮助读者了解构建一个可靠数据仓库所需的

    2024年02月12日
    浏览(101)
  • Hadoop——Hive相关问题汇总

    (1) 连接数据库时SSL问题  解决方法:useSSL=false要放最后 (2) jdbc:hive2://localhost:10091: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: Áõ¸ is not allowed to impersonate root org.apache.hadoop.ipc.RemoteException:User: Áõ¸

    2024年02月16日
    浏览(37)
  • 六、数据仓库详细介绍(ETL)经验篇

            日常工作中大多数时候都是在做数据开发,ETL 无处不在。虽然最近两年主要做的大数据开发,但感觉日常干的这些还是 ETL 那点事儿,区别只是技术组件全换了、数据量大了很多。 前几年数仓势微,是因为传统的那些工具数据库等无法解决数据量进一步膨胀带来

    2024年02月15日
    浏览(46)
  • 软件工程期末复习+数据仓库ETL

    1.AdventureWorks数据库下载地址和方式 下载地址:https://github.com/Microsoft/sql-server-samples/releases 下载方式: 2.将.bak文件导入SQL Server Management Studio Management Studio 19 首先在安装SSMS在此不赘述: 右键单击 “数据库” 节点,然后选择 “还原数据库”,选择设备选择.bak文件: 软件工程

    2024年02月03日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包