数据仓库【1】:简介

数据仓库【1】:简介

  • 1、诞生背景
    • 1.1、数据仓库诞生原因
    • 1.2、历史数据积存
    • 1.3、企业数据分析需要
  • 2、基本概述
    • 2.1、数据仓库(Data Warehouse,DW)
    • 2.2、数据仓库特点
    • 2.3、数据仓库 VS 数据库
  • 3、技术实现
    • 3.1、数据仓库建设方案
    • 3.2、传统数据仓库
    • 3.3、大数据数据仓库
  • 4、MPP & 分布式架构
    • 4.1、MPP架构
    • 4.2、分布式架构
    • 4.3、MPP + 分布式架构
  • 5、常见产品
    • 5.1、传统数据仓库
    • 5.2、大数据数据仓库

1、诞生背景

1.1、数据仓库诞生原因

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

1.2、历史数据积存

  • 历史数据使用频率低,堆积在业务库中,导致性能下降

1.3、企业数据分析需要

  • 各个部门自己建立独立的数据抽取系统,导致数据不一致

2、基本概述

2.1、数据仓库(Data Warehouse,DW)

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

2.2、数据仓库特点

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

2.3、数据仓库 VS 数据库

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

3、技术实现

3.1、数据仓库建设方案

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

3.2、传统数据仓库

  • 由关系型数据库组成MPP(大规模并行处理)集群

3.3、大数据数据仓库

  • 利用大数据天然的扩展性,完成海量数据的存放
  • 将SQL转换为大数据计算引擎任务,完成数据分析
    在这里插入图片描述

4、MPP & 分布式架构

4.1、MPP架构

  • 传统数仓中常见的技术架构,将单机数据库节点组成集群,提升整体处理性能
  • 节点间为非共享架构(Share Nothing),每个节点都有独立的磁盘存储系统和内存系统
  • 每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供服务
  • 设计上优先考虑C(一致性),其次考虑 A(可用性),尽量做好P(分区容错性)
    架构优点
    • 运算方式精细,延迟低、吞吐低
    • 适合中等规模的结构化数据处理
      架构缺点
    • 存储位置不透明,通过Hash确定数据所在的物理节点,查询任务在所有节点均会执行
    • 并行计算时,单节点瓶颈会成为整个系统短板,容错性差
    • 分布式事务的实现会导致扩展性降低

4.2、分布式架构

  • 大数据中常见的技术架构,也称为Hadoop架构/批处理架构
  • 各节点实现场地自治(可以单独运行局部应用),数据在集群中全局透明共享
  • 每台节点通过局域网或广域网相连,节点间的通信开销较大,在运算时致力减少数据移动
  • 优先考虑的是P(分区容错性),然后是A(可用性),最后再考虑C(一致性)
    架构特点
    • 解决了单点故障问题,会将出错的任务调度到其他副本节点
    • 运算方式粗犷,吞吐量大
    • 扩展性极强,适合处理非结构化、半结构化数据
    • 需要将中间结果进行存储,且数据移动开销较大

4.3、MPP + 分布式架构

  • 数据存储采用分布式架构中的公共存储,提高分区容错性
  • 上层架构采用MPP,减少运算延迟

5、常见产品

5.1、传统数据仓库

  • Oracle RAC
  • DB2
  • Teradata
  • Greenplum

5.2、大数据数据仓库

  • Hive
  • Spark SQL
  • HBase
  • Impala
  • HAWQ
  • TIDB

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

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

相关文章

sql_lab之sqli中的搜索型注入

搜索型注入 原理是运用模糊查询: select * from users where username like %a% 1.找到具有模糊查询的搜索框的注入点 2.构造闭合 因为模糊查询的代码是 select * from users where username like %a% 所以应该 鱼%’ -- s 判断构造闭合的函数是否正确 鱼%…

13-网络安全框架及模型-纵深防御模型

目录 纵深防御模型 1 背景概述 2 核心思想 3 主要内容 4 模型作用 5 优势和局限性 6 应用场景 纵深防御模型 1 背景概述 纵深防御模型是一种网络安全防御策略,它旨在通过多重的安全措施构建多道防线,提高网络信息系统的安全性和可靠性。该模型起…

【JavaEE初阶一】线程的概念与简单创建

1. 认识线程(Thread) 1.1 关于线程 1.1.1 线程是什么 由前一节的内容可知,进程在进行频繁的创建和销毁的时候,开销比较大(主要体现在资源的申请和释放上),线程就是为了解决上述产生的问题而提…

apache禁止遍历目录

禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思。下面说下禁止禁止Apache显示目录索引的常见的3种方法。 要实现禁止Apache显示目录索引,只需将 Optio…

Jenkins的特殊操作定时自动执行任务以及测试报告调优

java -Dhudson.model.DirectoryBrowserSupport.CSP -jar Jenkins.war 测试报告 不美丽 执行上面的代码 重启jenkins 就好了

渗透笔记 (第一天 )

基础 操作系统和渗透名词 渗透名词 poc 概念验证 漏洞证明验证 exp 利用 利用系统漏洞进行攻击动作 唯一性 payload 有效载荷 在目标系统执行的代码和指令 (通道 ) shellcode shell代码 payload的一种 建立正向和反向的名字 &am…

Ai企业系统源码 Ai企联系统源码 商用去授权 支持文心 星火 GPT4等等20多种接口

智思Ai系统2.4.9版本去授权(可商用)支持市面上所有版本的接口例如:文心、星火、GPT4等等20多种接口!代过审AI小程序类目!!! 安装步骤: 1、在宝塔新建个站点,php版本使用…

Hive-数据模型详解(超详细)

文章目录 一、Hive数据模型1. 概述2. 数据库和表(1) 创建数据库(2) 使用数据库(3) 创建表格(4) 查看表结构 3. 分区与桶(1) 分区(2) 桶 4. 数据加载与查询(1) 数据导入(2) 查询语句 5. 总结 一、Hive数据模型 1. 概述 Hive是基于Hadoop的数据仓库工具,它提供了类似…

鸿蒙开发实战--DevEco Studio真机调试方法

DevEco Studio真机调试方法 1、 打开开发者选项 在手机设置菜单中点击【关于手机】选项。连续点击7次【版本号】进入开发者模式。返回设置菜单,在系统和更新中即可找到【开发人员选项】。 2、 开启USB调试 打开“设置”—“系统更新”—“开发者选项”&#xff…

使用pytorch神经网络拟合计算模型

一. 内容简介 python调用百度翻译api,将中文论文翻译英文,并保留部分格式 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3数据文件 链接:https://pan.baidu.com/s/1csJOoErGyx77MW_FImVKjg?pwd1234 三.主要流程 3.…

铁山靠之——HarmonyOS组件 - 2.0

HarmonyOS学习第二章 一、HarmonyOS基础组件的使用1.1 组件介绍1.2 Text1.2.1 文本样式1.2.2 设置文本对齐方式1.2.3 设置文本超长显示1.2.4 设置文本装饰线 1.3 Image1.3.1 设置缩放类型1.3.2 加载网络图片 1.4 TextInput1.4.1 设置输入提示文本1.4.2 设置输入类型1.4.3 设置光…

蓝桥杯-每日刷题-029

因子数与因子和 一、题目要求 题目描述 输入一个正整数N&#xff0c;求出这个数字存在多少个因子&#xff0c;以及因子之和。输入格式 存在多组测试数据&#xff0c;每组测试数据输入一个正整数N(1<N<10^9)输出格式 对于每组测试数据输出一行&#xff0c;包含两个数字&…

快速上手 Mac 电脑

更好的阅读体验 \color{red}{更好的阅读体验} 更好的阅读体验 触摸板操作 打开系统偏好设置-触控板选项查看学习常用操作双指触控实现鼠标右键功能建议打开轻点来点按&#xff0c;和 win 操作相同系统偏好设置-辅助功能-指针控制-触控板选项-启用拖移-三指拖移&#xff1a;单手…

王道考研计算机网络——数据链路层

码元和信号变化是一一对应的 低通&#xff1a;低于最高频率的可以通过 奈氏准则无噪声&#xff0c;香农定理有噪声 给出db&#xff0c;利用公式求出S/N 放到数字信道上传输就是基带信号&#xff0c;放到模拟信道上传输就是宽带信号 把基带信号调制成宽带信号之后&#xff0c;…

JSON在Java中的使用

目录 第一章、快速了解JSON1.1&#xff09;JSON是什么1.2&#xff09;json的语法格式①键值对、字符串、数字、布尔值、数组、对象②嵌套的格式 1.3&#xff09;为什么使用JSON 第二章、发送和接收JSON格式数据2.1&#xff09;postman发送JSON格式数据2.2&#xff09;Java后端接…

华为OD机试 - 可以处理的最大任务数(Java JS Python C)

题目描述 在某个项目中有多个任务(用task数组表示)需要你进行处理,其中: task[i] = [si, ei]你可以在 si ≤ day ≤ ei 中的任意一天处理该任务,请返回你可以处理的最大任务数。 输入描述 第一行为任务数量 n 1 ≤ n ≤ 100000后面 n 行表示各个任务的开始时间和终止时间…

【csapp】cachelab

文章目录 Part APart B32 * 3264 * 6461 * 67 实验全程参考大佬的博客CS:APP3e 深入理解计算机系统_3e CacheLab实验 &#xff0c;感觉大佬在矩阵转置那块介绍的还是有些简略&#xff0c;我自己又做了点动图加以补充理解。膜拜大佬&#xff01; Part A 先解决解析命令行参数的…

STM32实战之深入理解I²C通信协议

目录 IC的物理层 IC的协议层 IC特点 IC 总线时序图 软件模拟IC时序分享 例程简介 例程分享 STM32的IC外设 IIC&#xff08;Inter-Integrated Circuit&#xff09;&#xff0c;也称为IC或TWI&#xff08;Two-Wire Interface&#xff09;&#xff0c;是一种广泛使用的串行…

MyBatis——MyBatis的缓存

MyBatis的缓存 创建工程&#xff1a; 1缓存介绍 为什么使用缓存&#xff1f; 首次访问时&#xff0c;查询数据库&#xff0c;并将数据存储到内存中&#xff1b;再次访问时直接访问缓存&#xff0c;减少IO、硬盘读写次数、提高效率 Mybatis中的一级缓存和二级缓存&#xff1f;…

docker的常规使用总结

不安装docker下载镜像&#xff0c;或者下载异构镜像&#xff0c;模拟docker客户端 https://pull.7ii.win/ 1、启动docker服务 systemctl start docker 2、查看镜像 docker images 查看镜像centos-vim docker images | grep ubuntu-vim #强制删除全部镜像文件 docker rm…