数据仓库扫盲系列(1):数据仓库诞生原因、基本特点、和数据库的区别

数据仓库的诞生原因

随着互联网的普及,信息技术已经深入到各行各业,并逐步融入到企业的日常运营中。然而,当前企业在信息化建设过程中遇到了一些困境与挑战。

1、历史数据积存。

过去企业的业务系统往往是在较长时间内建设的,很少进行大面积的改造或者升级,历史数据留存在业务系统中。随着业务的不断增长,历史数据使用频率低,业务数据库中的历史数据越来越多,大量历史数据堆积,从而影响了业务数据库的性能。

2、信息系统分散。

企业各个部门自己建立的独立数据抽取系统会导致数据不一致,难以进行数据整合,不同系统的数据口径不统一、不规范。这导致了数据结构复杂,开发难度大,分析难以标准化,数据应用难度大。
在这里插入图片描述
业务数据库面向于业务系统,而数据仓库面向于业务分析。为了满足企业数据分析需要,数据仓库应运而生。

数据仓库的基本特点

数据仓库主要用来对寄存的历史数据进行存储和管理,并使用一些分析方法对数据进行分析和整理(如OLAP、数据分析),从而提供大量数据支持,为企业构建BI打下坚实基础。

数据仓库有以下特点:

1、集成的:原始数据是从多个数据源获得,如文件、数据库等。要将这些来源不同的原始数据整合到一个数据库中,就必须对这些源进行抽取、清洗、转换。

2、面向主题的:数据仓库为数据分析提供服务,根据主题将原始数据集合在一起。
在这里插入图片描述

3、时变性:数据仓库会定期接受、集成新的数据,从而反映出数据的最新变化。

4、非易失性:数据仓库中保存的数据是一系列历史快照,一旦进入数据仓库,就不允许被修改。同时,对数据仓库中保存的数据进行查询、分析时,也只能通过专门的工具进行。
数仓特点:非易失性

数据仓库和数据库的区别

数据库是面向事务设计的,主要操作是随机读写。在设计过程中,为了避免冗余,常采用符合范式的规范来设计。
数据仓库是面向主题设计的,主要操作为批量读取和写入。数据仓库关注数据整合和分析,会引入冗余,采用反范式的方式进行设计。
在这里插入图片描述

数据仓库建设方案

传统数据仓库和大数据数据仓库是两种不同类型的数据仓库,需要采用不同的建设方案。

传统数据仓库通常是由关系型数据库组成的 MPP (大规模并行处理)集群来进行数据存储和运算,采用一定的数据模型,如星型模型、雪花模型等,来设计数据仓库的结构。但是,随着应用系统的发展,其扩展性受到了很大限制,并且随着业务应用的不断增加,也逐渐产生了一些热点问题。
传统数据仓库的热点问题

大数据数据仓库通常采用分布式计算技术,如Hadoop、Spark等作为存储和计算引擎,使用工具或编程语言设计处理逻辑,实现对不同数据源的汇聚、清洗、计算和分析。大数据数据仓库利用了大数据天然的扩展性来完成海量数据的存放,同时也把SQL转换成了针对大数据计算引擎的任务,实现数据的分析。虽然大数据数据仓库具有很多优点,但是仍然存在一些挑战和问题:

  1. SQL的支持率比较低。大数据计算引擎有自己的语言和逻辑,所以有些SQL查询无法很好地转换成它们能够理解的任务。

  2. 缺少事务支持。因为大数据计算引擎本质上是分布式的,并且数据分散在多个节点上,所以很难实现完整的事务支持。

  3. 数据量较少时计算速度可能比较慢。大数据数据仓库可以通过计算资源的横向扩展来提高计算速度,所以当数据量较少时,可能需要较长的时间来完成分析。
    大数据数仓

现在企业的信息化建设和数据仓库的构建面临很多挑战,需要根据企业的现状和需要解决的问题,选择合适的方案,不能一蹴而就。很显然在目前的信息时代,借助类似于FineDataLink的这些工具,可以让企业加速融入企业数据集成和分析的趋势。

[数据仓库建设方案:免费获取]
在这里插入图片描述
数据仓库扫盲系列共12篇内容,记得点关注~

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

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

相关文章

MODBUS-TCP转MODBUS-RTU通信应用(S7-1200和串口服务器通信)

在学习本博客之前,大家需要熟悉MODBUS-TCP和MODBUS-RTU通信,这2个通信的编程应用,大家可以查看下面文章链接: MODBUS-RTU通信 MODBUS-RTU通信协议功能码+数据帧解读(博途PLC梯形图代码)-CSDN博客MODBUS通信详细代码编写,请查看下面相关链接,这篇博客主要和大家介绍MODB…

Rust逆向学习 (1)

文章目录 Hello, Rust Reverse0x01. main函数定位0x02. main函数分析line 1line 2line 3line 4~9 0x03. IDA反汇编0x04. 总结 近年来,Rust语言的热度越来越高,很多人都对Rust优雅的代码和优秀的安全性赞不绝口。对于开发是如此,对于CTF也是如…

Easyx趣味编程7,鼠标消息读取及音频播放

hello大家好,这里是dark flame master,今天给大家带来Easyx图形库最后一节功能实现的介绍,前边介绍了绘制各种图形及键盘交互,文字,图片等操作,今天就可以使写出的程序更加生动且容易操控。一起学习吧&…

【CSS】使用 CSS 实现一个宽高自适应的正方形

1. 利用 padding 或 vw <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><metaname"viewport"content"widthdevice-width, initial-scale1.0"><title>Document</title><st…

YOLOv5改进实战 | GSConv + SlimNeck双剑合璧,进一步提升YOLO!

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…

【驱动开发】控制stm32mp157a开发板三盏灯的亮灭

编写应用程序控制三盏灯的亮灭 head.h&#xff1a; #ifndef __HEAD_H__ #define __HEAD_H__typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t;//LED灯的寄存器地址 #define …

制造企业如何做好MES管理系统需求分析

随着制造业的不断发展&#xff0c;制造企业对于生产过程的管理需求日益增长。为了提高生产效率和质量&#xff0c;越来越多的制造企业开始关注MES生产管理系统的需求分析。本文将从以下几个方面探讨制造企业如何做好MES管理系统需求分析。 一、明确需求 在进行MES管理系统需求…

利用爬虫采集音频信息完整代码示例

以下是一个使用WWW::RobotRules和duoip.cn/get_proxy的Perl下载器程序&#xff1a; #!/usr/bin/perluse strict; use warnings; use WWW::RobotRules; use LWP::UserAgent; use HTTP::Request; use HTTP::Response;# 创建一个UserAgent对象 my $ua LWP::UserAgent->new();#…

vue3里面vant组件的标签页使用?

一、绑一个v-model事件 二、让activeName的初始为0也就是默认是显示第一个标签页的下标 三、给标签页下面的东西进行一个判断 想让哪个优先显示就把哪个判断作为初始值存入

npm 执行命令时报错npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve

npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: vue-office/docx1.3.0 npm ERR! Found: vue-demi0.14.6 npm ERR! node_modules/vue-demi npm ERR! vue-demi“^0.14.6” from the root project npm ERR! vue-demi“*” from …

《广西开放大学电大搜题微信公众号——探索学习的新途径》

随着社会的发展&#xff0c;教育无疑成为了人们的基本需求之一。然而&#xff0c;对于许多忙碌的职场人士来说&#xff0c;时间和地点的限制使得他们无法像传统学生那样参加常规的大学教育。好在有着广西开放大学这样的学府&#xff0c;为那些繁忙而渴望知识更新的人们提供了学…

2017年高热度编程语言简介

世上语言千千万&#xff0c;我却独爱这一种!”这句话用来形容程序员和编程语言之间的爱恨情仇实在是再精准不过了。根据GitHub 2016年的开源报告&#xff0c;其上所有开源项目共包含了316种编程语言&#xff0c;这是一个什么概念呢?举个例子来说&#xff0c;世界上共有226个国…

LLDB 三种输出方式 对比及原理探索

前言 当我们的项目过大时,就会使我们项目的编译耗时过长,如何在项目运行时进项代码调试,熟练使用LLDB就可以解决这个难题,大幅度提高我们的开发效率。 什么是 LLDB? LLDB是英文Low Lever Debug的缩写,是XCode内置的为我们开发者提供的调试工具,它与LLVM编译器一起,存…

异或运算.

相同为0&#xff0c;不同为1。 1 ^ 10 0 ^ 00 1 ^ 01 0 ^ 11性质&#xff1a; 0 ^ N N N ^ N 0交换、结合 a ^ b b ^ a&#xff1b; (a ^ b) ^ c a ^ (b ^ c)&#xff1b; 因此异或全部的元素的结果就是那个只出现1次的元素。 实现两个值的交换&#xff0c;而不必使…

ES6 Class和Class继承

1.class的基本语法 class可以理解为是一个语法糖&#xff0c;将js只能通过构造函数创建实例的方法进行了补充 构造函数&#xff1a; function Person ({ name, age18 }) {this.name namethis.age age } new Person({name: 张三}) Class类&#xff1a; class Person {con…

YOLOv8改进实战 | 更换主干网络Backbone之2023最新模型LSKNet,旋转目标检测SOTA

前言 传统的YOLOv8系列中,Backbone采用的是较为复杂的C2f网络结构,这使得模型计算量大幅度的增加,检测速度较慢,应用受限,在某些真实的应用场景如移动或者嵌入式设备,如此大而复杂的模型时难以被应用的。为了解决这个问题,本章节通过采用LSKNet轻量化主干网络作为Backb…

原型设计工具:Balsamiq Wireframes 4.7.4 Crack

原型设计工具:Balsamiq Wireframes是一种快速的低保真UI 线框图工具&#xff0c;可重现在记事本或白板上绘制草图但使用计算机的体验。 它确实迫使您专注于结构和内容&#xff0c;避免在此过程后期对颜色和细节进行冗长的讨论。 线框速度很快&#xff1a;您将产生更多想法&am…

springBoot--web--函数式web

函数式web 前言场景给容器中放一个Bean&#xff1a;类型是 RouterFunction<ServerResponse>每个业务准备一个自己的handler使用集合的时候加注解请求的效果 前言 springmvc5.2 以后允许我们使用函数式的方式&#xff0c;定义web的请求处理流程 函数式接口 web请求处理的…

数字图像处理实验记录四(图像的空间域增强-平滑处理)

前言&#xff1a;要是是实验报告赶工的话&#xff0c;建议总结上网抄&#xff0c;或者重构我的总结&#xff0c;仅供学习参考&#xff0c;不要照抄 文章目录 一、基础知识1&#xff0c;噪声2&#xff0c;椒盐噪声3&#xff0c;高斯噪声4&#xff0c;滤波器5&#xff0c;均值滤…

点云cloudpoint生成octomap的OcTree的两种方法以及rviz可视化

第一种&#xff1a;在自己的项目中将点云通过ros的topic发布&#xff0c;用octomap_server订阅点云消息&#xff0c;在octomap_server中生成ocTree 再用rviz进行可视化。 创建工作空间&#xff0c;记得source mkdir temp_ocotmap_test/src cd temp_ocotmap_test catkin_make…