热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据仓库分层ODSDWDDWS,数据仓库分层四层

1.2主要特点面向主题:操作型数据库组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,是后续数据


数据仓库分层1 .数据仓库DW1.1概述1.2主要特点1.3与数据库比较2 .数据分层2.1数据运营层(ODS ) 2.2数据仓库层(DW ) 2.3数据服务层/APP应用层(ADS ) )


作者: AmyZYX来源: http://www.cnblogs.com/amyzhu/


1 .数据仓库DW 1.1简介数据仓库(简称dw或震荡猫)数据仓库是在数据库已经大量存在的情况下,为进一步挖掘数据资源、做出决策而生成的,etl 数据仓库方案建设的目的是以前端查询和分析为基础,主要应用于在线分析(OLAP ),支持复杂的分析操作,侧重于决策支持,提供直观易懂的查询结果流行的有AWS Redshift、Greenplum、Hive等。


1.2主要特点面向主题:


基于操作的数据库组织面向事务性任务,数据仓库中的数据按照特定的主题域进行组织。


主题是用户在使用数据仓库进行决策时所关注的重要方面,一个主题涉及多个操作信息系统。


整合


需要对源数据进行加工融合和统一整合


为了确保数据仓库中的信息在整个企业中具有一致的全局信息,在加工过程中必须消除源数据的不一致性。 (相关关系)


不可修改


DW数据不是最新的,而是来自其他数据源


数据仓库主要为决策分析提供数据,相关操作主要是数据的查询


与时间相关


决策所需的数据仓库中的数据必须指定时间属性


1.3数据库对比DW:专门设计用于数据分析,涉及大量读取数据以了解数据之间的关系和趋势


数据库:用于捕获和存储数据


特性数据仓库事务数据库适当的工作负载分析、报告和大数据事务数据源从多个源收集,并从单个标准化数据源(如事务系统)捕获数据通过根据计划批处理调度执行连续写入操作,可以最大限度地提高事务吞吐量的数据标准化/非标准化模式,从而进行了优化。 例如,星型架构和雪花架构高度标准化的静态架构数据存储使用列存储进行了优化。 数据访问经过优化,可实现简单的访问和快速的查询性能,并对单行物理块执行高吞吐量写入操作。大量小型读取操作2 .数据分层数据分层数据分层数据访问经过优化,可最小化I/O,最大化数据吞吐量不同的企业根据不同的业务需求分为不同的层次,但最基本的层次化思想在理论上可分为三个。在此基础层次的基础上,重新提出信息层次以满足不同的业务需求。


2.1数据运营层(ODS ) ODS :操作数据存储数据准备区。 也称为粘贴源层。 数据仓库源系统中的数据表通常按原样保存数据表(称为ODS层),作为后续数据仓库中加工数据的源。


ODS层数据源方法:


业务库


经常使用sqoop提取。 例如,每天定时提取。


认为实时通过canal拦截mysql的binlog并实时访问即可。


填积分日志


日志通常保存为文件,也可以通过flume进行计划同步


可以通过spark streaming或Flink实时访问


kafka也可以


消息队列:即来自ActiveMQ、Kafka的数据等。


2.2数据仓库层(DW ) DW数据层,自下而上为DWD、DWB、DWS。


dwd :数据仓库详细信息数据层是业务层和数据仓库的隔离层。 主要对ODS数据层进行一些数据清洗和规范的操作。


数据清洗:空值、脏数据、超出极限范围


dwb :数据仓库数据基础层。 它存储了客观数据,普遍用作中间层,可以认为是大量指标的数据层。


DWS:data warehouse service数据服务层集成为基于DWB上的基础数据对某个主题域进行分析的服务数据层,一般为宽表。 用于提供后续业务查询、OLAP分析、数据发布等。


用户行为,轻度聚合


主要对ODS/DWD层数据进行轻度汇总。


2.3数据服务层/APP应用层(ADS )应用程序数据服务APP应用程序数据服务。 该层主要提供数据产品和用于数据分析的数据,一般存储在ES、mysql等系统中用于在线系统。


我们说的报告数据,或者那么大幅度的表格,一般都放在这里。


3 .附录ETL


ETL :提取转换加载。 描述从源端提取、转换和将数据加载到目标端的过程。


宽敞的钟表


含义:指字段多的数据库表。 通常是与业务主体相关联的指标、纬度、属性相关联的数据库表。


特点:


由于宽表将所有不同的内容放在同一个表中,因此宽表已经不符合3范式的模型设计规范。


缺点:有大量数据

冗余
好处:查询性能的提高和便捷
宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提供数据挖掘模型训练过程中迭代计算的消息问题。

数据库设计三范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式时符合某一种设计要求的总结。

第一范式:确保每列保持原子性,即要求数据库表中的所有字段值都是不可分解的原子值。
第二范式:确保表中的每列都和主键相关。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
作用:减少了数据库的冗余
第三范式:确保每列都和主键列直接相关,而不是间接相关。

赛车每天赚1000的方法p>


DWS:data warehouse service数据服务层集成为基于DWB上的基础数据对某个主题域进行分析的服务数据层,一般为宽表。 用于提供后续业务查询、OLAP分析、数据发布等。


用户行为,轻度聚合


主要对ODS/DWD层数据进行轻度汇总。


2.3数据服务层/APP应用层(ADS )应用程序数据服务APP应用程序数据服务。 该层主要提供数据产品和用于数据分析的数据,一般存储在ES、mysql等系统中用于在线系统。


我们说的报告数据,或者那么大幅度的表格,一般都放在这里。


3 .附录ETL


ETL :提取转换加载。 描述从源端提取、转换和将数据加载到目标端的过程。


宽敞的钟表


含义:指字段多的数据库表。 通常是与业务主体相关联的指标、纬度、属性相关联的数据库表。


特点:


由于宽表将所有不同的内容放在同一个表中,因此宽表已经不符合3范式的模型设计规范。


缺点:有大量数据

冗余
好处:查询性能的提高和便捷
宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提供数据挖掘模型训练过程中迭代计算的消息问题。

数据库设计三范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式时符合某一种设计要求的总结。

第一范式:确保每列保持原子性,即要求数据库表中的所有字段值都是不可分解的原子值。
第二范式:确保表中的每列都和主键相关。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
作用:减少了数据库的冗余
第三范式:确保每列都和主键列直接相关,而不是间接相关。


推荐阅读
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 一家位于长沙的知名网络安全企业,现面向全国诚聘高级后端开发工程师,特别欢迎具有一线城市经验的技术精英回归故乡,共创辉煌。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • Windows Phone 弹出窗口实现方案
    在当前版本的 Silverlight for Windows Phone 中,由于缺乏对 ChildWindow 的支持,开发者需要采用其他方法来实现弹出窗口的功能。本文将探讨几种有效的解决方案。 ... [详细]
  • 近期尝试从www.hub.sciverse.com网站通过编程手段获取数据时遇到问题,起初尝试使用WebBrowser控件进行数据抓取,但发现使用GET方法翻页时,返回的HTML代码始终相同。进一步探究后了解到,该网站的数据是通过Ajax异步加载的,可通过HTTP查看详细的JSON响应。 ... [详细]
  • 本文介绍了ADO.NET框架中的五个关键组件:Connection、Command、DataAdapter、DataSet和DataReader。每个组件都在数据访问和处理过程中扮演着不可或缺的角色。 ... [详细]
author-avatar
TT0852_235
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有