数据仓库原理&实战【1】


一、数仓的诞生背景

1.1 数仓诞生原因

  • 历史数据积存
  • 企业数据分析需要

(1)历史数据积存
历史数据使用频率低,堆积在业务库中,导致性能下降。

  对于企业来说,线上的业务系统随着业务的进行,会源源不断的产生数据,这些数据都会存储在业务数据库中(例如Mysql、Oracle、SQL Server等)来支持业务系统的运行,但是,当线上业务系统运行超过一定时间后会累积越来越多的数据,就会对我们的业务数据库产生一定的负载,从而导致我们的业务系统运行较慢。而这些历史数据中,有相当一部分是冷数据,即业务系统一般对最近产生的数据(当天、一周内、一个月内)调用比较频繁,对较早之前的数据调用频率很低。

  所以为了避免随着时间的推移,历史数据积压对业务数据库产生的影响,妨碍业务的正常运行,企业需要定期将积压的冷数据从业务数据库中转移出去,存储到一个专门存放历史数据的仓库中。这就是——数据仓库
(2)企业数据分析需要
各部门自己建立独立的数据抽取系统,导致数据不一致.

企业将历史数据存储到数据仓库中后,这些数据不仅可以改善业务数据库的性能;还可以用来进行数据分析,从而辅助管理层进行决策。以历史数据积存为导向,这种发展是顺其自然的。

但有的企业开始并没有历史数据积存,然而仅仅是对数据分析特别看重。这些企业可能会存在多个部门需要进行数据分析的任务。这些企业建立数据仓库的原由,是以数据分析为导向的。

在没有建立数据仓库时候,各个部门是有自己的数据抽取系统的,他们做数据分析的时候是在业务数据库了提取数据,然后分析。但是这样存在一些问题:

  • 各个部门分析的结果不一致,例如各部门提取数据的时间不同,就会导致数据不同,从而导致分析的结果有差异;
  • 各部门建立各自的数据抽取系统,这样很浪费资源;
  • 每个部门有一个抽取系统,数据库需要给权限,这样数据库的权限管理也存在极大的风险。

  因此,企业统一建立一个数据仓库,使用专门的数据抽取系统,定期从业务数据库把数据抽取到数据仓库里面,①实际上就是数据仓库为各个部门建立了一个统一的数据视图,就直接解决了分析结果不一致的问题;②数据仓库可以直接开放访问接口,这样业务数据库和数仓的权限管控就更具有针对性了。

  数仓面向于数据分析,业务数据库面向于业务系统。企业无论是以历史数据积存,还是数据分析为导向建立的数据仓库。数据积存、数据分析,这两个都是数据仓库的基本功能与建设目的

1.2 基本概念

数据仓库(Data Warehouse,DW)

  • 由数据仓库之父比尔.恩门(Bill Inmon)提出;
  • 数据仓库是一个面向主题的、集成的、非易失的且随时间变化数据集合
  • 主要用于组织积累的历史数据,并使用分析方法(OLAP、数据分析)进行分析整理,进而辅助决策,为管理者、企业系统提供数据支持,构建商业智能。
数据仓库特点

(1)面向主题:为数据分析提供服务,根据主题将原始数据集合在一起;
(2)集成:原始数据来源于不同数据源,要整合成最终数据,需要经过抽取、清洗、转换的过程(便于后面的分析);
(3)非易失:保存的数据是一系列历史快照,不允许被修改,只允许通过工具进行查询、分析;
(4)时变性:数仓会定期接收、集成新的数据,从而反映出数据的最新变化。

数据仓库与数据库的区别
  • 数据库面向事务设计,属于OLTP(在线事务处理)系统,主要操作是随机读写;在设计时尽量避免冗余,常采用符合范式规范来设计;
  • 数据仓库是面向主题设计的,属于OLAP(在线分析处理)系统,主要操作是批量读写;关注数据整合,以及分析、处理性能;会有意引入冗余,采用反范式方式设计。

在这里插入图片描述

1.3技术实现

1.3.1数据仓库建设方案

  • 传统数据仓库
  • 大数据数据仓库

1.3.2传统数据仓库

  传统的数据仓库是由关系型数据库组成MPP(大规模并行处理)集群,是由单机数据库发展而来的,业务数据库一般是单机的关系型数据库,数仓在建设初期一般会选用关系型数据库,是为了同步业务数据库的数据,使得数据迁移起来更加方便,而且它的业务系统这块改造的成本

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值