【数仓建设系列之一】什么是数据仓库?

一、什么是数据仓库?

数据仓库(Data Warehouse,简称DW)简单来讲,它是一个存储和管理大量结构化和非结构化数据的存储集合,它以主题为向导,通过整合来自不同数据源下的数据(比如各业务数据,日志文件数据等),解决企业数据孤岛,为企业提供统一的数据视图。通过构建不同时间范围或不同业务主题下的分析报告和数据报表等,为企业决策提供一定程度上的支持和帮助。
在这里插入图片描述

二、数据仓库的特点?
  • 主题性

传统的数据库,更多的可能是考虑到应用层面上的数据组织和结构,因此各个业务之间的数据可能相互独立,相互分离。而数据仓库是对业务系统中各业务数据通过不同主题域特征进行抽象,通过归纳和总结等手段,形成一个更高层次的主题和维度抽象。

  • 集成性

因为数据仓库与传统意义上的数据库不同,它需要接纳各种独立,异构的数据,因此它需要通过ETL(抽取、清洗、转换)功能,将这些数据统一处理并汇总到数据仓库中,而将全部的数据汇总的好处就是数仓中包含了企业所有数据,解决了企业数据孤岛问题,在后期可以为企业提供统一的数据视图。因此,数据入仓前的ETL是数仓建设中尤为关键且有非常复杂的一件事。

  • 稳定性

传统数据库更多的偏向于更新操作(CRUD),而数据仓库则是更多的提供一种可靠的,长久数据的查询和分析能力。在生产场景种,数据一旦写入到数据仓库,大概率会被长期保存且基本不进行修改操作,除非企业针对特定数据设置数据生命周期。因此基于这种更新频率几乎为零的设计再加上数仓的分布式存储与高可用的搭建,保证了数仓的稳定性和完整性。

  • 及时性

数仓不仅仅要存储了管理历史数据,同时还要能够实时接收新的集成数据,通过这种快速反应历史数据与新增数据差异对比的能力,能够快速给决策和分析人员提供参考依据,这也是数仓建设的最终目的。

三、为什么要建设数仓?

​ 随着移动互联网的快速发展,企业数据和数据复杂度也呈几何式增长。到目前为止,数据已经成为了众多企业的核心资产之一。但目前很多企业在不同的业务场景,都拥有众多数据源,企业数据也分布在不同的业务系统中,但决策者在决策时,通常是要结合全公司各个业务数据来综合分析考虑的,而一个高效可靠的数据仓库,能够汇集公司众多结构化和非结构化的数据,能够提供稳定高效的查询分析,能够帮助决策者更加高效的管理和分析企业发展现状与预测未来走势,同时,也能将公司的数据资源转换为真正的企业资产。

​ 接下来,我们将从数据仓库的分类与建模方法中展开讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内网穿透和服务器+IP 实现公网访问内网的区别

内网穿透和服务器IP 实现公网访问内网的区别在于实现方式和使用场景。 内网穿透(Port Forwarding):内网穿透是一种通过网络技术将公网用户的请求通过中转服务器传输到内网设备的方法。通过在路由器或防火墙上进行配置,将公网请求…

MySQL- sql语句基础

文章目录 1.select后对表进行修改(delete)2.函数GROUP_CONCAT()3.使用正则表达式3.DATE_FORMAT()4.count() 加条件 1.select后对表进行修改(delete) 报错:You can’t specify target table ‘Person’ for update in …

proteus结合keil-arm编译器构建STM32单片机项目进行仿真

proteus是可以直接创建设计图和源码的,但是源码编译它需要借助keil-arm编译器,也就是我们安装keil-mdk之后自带的编译器。 下面给出一个完整的示例,主要是做一个LED灯闪烁的效果。 新建工程指定路径,Schematic,PCB layout都选择默…

【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站

引 本文将使用流行的博客搭建工具 WordPress 搭建一个私人博客站点。部署过程中使用到了 Docker 、MySQL 。站点搭建完成后经行了发布文章的体验。 WordPress WordPress 是一个广泛使用的开源内容管理系统(CMS),用于构建和管理网站、博客和…

单例设计模式精讲(饿汉式和懒汉式实现的重要方法)

目录 什么叫做单例模式? 饿汉式和懒汉式的区别? 饿汉式-方式1(静态变量方式) 饿汉式-方式2(静态代码块方式) 懒汉式-方式1(线程不安全) 懒汉式-方式2(线程安全&…

FifthOne:用于矢量搜索的计算机视觉接口

一、说明 数据太多了。数据湖和数据仓库;广阔的像素牧场和充满文字的海洋。找到正确的数据就像大海捞针一样!如果你喜欢开源机器学习库 FiftyOne,矢量搜索引擎通过将复杂数据(图像的原始像素值、文本文档中的字符)转换为称为嵌入矢…

PHP报错:未定义常量的解决方法!

PHP报错:未定义常量的解决方法! 在PHP编程中,我们经常会遇到常量未定义的错误。这种错误通常会在代码中使用未定义的常量时发生。本文将介绍常量的概念以及如何解决未定义常量的问题。 首先,让我们来了解什么是常量。在PHP中&am…

大数据平台运维实训室建设方案

一、概况 本实训室的主要目的是培养大数据平台运维项目的实践能力,以数据计算、分析、挖掘和可视化的案例训练为辅助。同时,实训室也承担相关考评员与讲师培训考试、学生认证培训考试、社会人员认证培训考试、大数据技能大赛训练、大数据专业课程改革等多项任务。 实训室旨在培…

无人机跟随一维高度避障场景--逻辑分析

无人机跟随一维高度避障场景--逻辑分析 1. 源由2. 视频3. 问题3.1 思维发散3.2 问题收敛 4. 图示4.1 水平模式4.2 下坡模式4.3 上坡模式4.4 碰撞分析 5. 总结5.1 一维高度避障场景5.2 业界跟随产品5.3 APM集成跟随示意图一:示意图二:示意图三&#xff1a…

Java算法_ 验证二叉搜索树(LeetCode_Hot100)

题目描述: 给你一个二叉树的根节点 ,判断其是否是一个有效的二叉搜索树。root 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 获得…

【TypeScript】tsc -v 报错 —— 在此系统上禁止运行脚本

在 VS Code 终端中执行 tsc -v ,报错 —— 在此系统上禁止运行脚本 然后 windows x ,打开终端管理员,出现同样的问题 解决方法: 终端(管理员)执行以下命令: 出现 RemoteSigned 则代表更改成功…

11,模板泛化、模板特化、所占字节数、继承实现模板展开、using循环命名展开可变参数

模板泛化、模板特化、所占字节数、继承实现模板展开、using循环命名展开可变参数 模板泛化模板特化模板全特化通过模板偏特化获取类型所占字节数通过模板偏特化和宏获取类型所占字节数...ParamTypes和ParamTypes...的区别 通过继承实现模板展开using 通过using循环命名的方式来…

开发一个文生图的功能

文章目录 效果开发环境原理核心代码代码仓库问题效果 开发环境 Python 3.10PyCharm原理 借助开源项目stable-diffusion,通过该项目封装python库diffusers,可以轻易的实现文生图的功能。 关于更多diffusers的功能请访问:https://huggingface.co/docs/diffusers/index 核心代…

css样式表属性

文章目录 css样式表属性colorbackground-colorfont-sizefont-weightfont-familyfont-styletext-decorationtext-indentline-height(line-height的概念)width、heightletter-spacingtext-aligndirectionwriting-modefont-variantborder-radiusopacitycursorvertical-alignmin-wi…

【数据结构与算法】十大经典排序算法-归并排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…

如何用输入函数为数组赋值

在编写程序时我们经常使用数组,而数组的大小可能是很大的但是我们并不需要为每个元素都自己赋值,我们可能会自定义输入数组元素个数,我们应该如何实现通过输入函数为数组赋值呢? 目录 第一种: 第二种: 第一…

大数据bug-sqoop(二:sqoop同步mysql数据到hive进行字段限制。)

一:sqoop脚本解析。 #!/bin/sh mysqlHost$1 mysqlUserName$2 mysqlUserPass$3 mysqlDbName$4 sql$5 split$6 target$7 hiveDbName$8 hiveTbName$9 partFieldName${10} inputDate${11}echo ${mysqlHost} echo ${mysqlUserName} echo ${mysqlUserPass} ec…

OpenCV之remap的使用

OpenCV中使用remap实现图像的重映射。 重映射是指将图像中的某一像素值赋值到指定位置的操作:g(x,y) f ( h(x,y) ), 在这里, g( ) 是目标图像, f() 是源图像, 而h(x,y) 是作用于 (x,y) 的映射方法函数。为了完成映射过程, 需要获得一些插值为…

TypeError: a bytes-like object is required, not ‘str‘

raceback (most recent call last): File "D:\pycharmcode\client.py", line 12, in <module> tcp_socket.send(send_data) TypeError: a bytes-like object is required, not str 使用socket进行ubuntu与windows通信时&#xff0c;发送数据时报了以上错…

LeetCode 面试题 01.04. 回文排列

文章目录 一、题目二、C# 题解 一、题目 给定一个字符串&#xff0c;编写一个函数判定其是否为某个回文串的排列之一。 回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。 回文串不一定是字典当中的单词。 点击此处跳转题目。 示例1&#xff1a; 输入&…