MPP架构和Hadoop架构的区别

1. 架构的介绍

mpp架构是将许多数据库通过网络连接起来,相当于将一个个垂直系统横向连接,形成一个统一对外的服务的分布式数据库系统。每个节点由一个单机数据库系统独立管理和操作该物理机上的的所有资源(CPU,内存等),节点内系统的各组件间相互调用无需通过主节点。

Hadoop架构是将不同的资源管理与功能进行分层抽象设计,每层形成一类组件,实现一定的解耦,包括存储资源管理等,在每层内进行跨节点的资源统一管理或功能并行执行,层与层之间通过接口调用,相互透明,节点内不同层的组件间的相互调用需要由“控制节点”掌握或通过“控制节点”协调,即控制节点了解每个节点不同层组件间的互动过程。

 

2 各自的优势

2.1 水平扩展性

Hadoop架构的水平扩展性更高。Hadoop架构能够扩展到10K台机器,Mpp架构最高只能扩展到几百台。

2.2 容错

Hadoop的容错性更高,其存储与计算都是分离开来,同时存在副本。而在MPP架构下,某个节点异常之后,整个计算过程就被阻塞住。

2.3 事务支持

MPP架构对事物支持得更好,MPP架构下各个节点是单机数据库,能够很好的支持事务,只需master节点增加全局事务的逻辑,即可做到很好的事务支持。Hadoop架构下的事务支持能力很弱。

2.4 数据结构

Hadoop架构可适用于非结构化,半结构化,结构化数据(Hbase),MPP架构只适用于结构化数据。

总的来说,Hadoop架构在数据量比较低的情况下,运行速度远不及MPP架构,但数据量一旦超过某个量级,Hadoop架构的在吞吐量方面更有优势。有些大数据数据仓库产品也采用混合的架构,以融合两者的优点。例如Impala,Presto都是基于HDFS的MPP分析引擎,仅利用HDFS实现分区的容错性,放弃MapReduce计算模型,在面向OLAP场景时可实现更好的性能,降低延迟

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL索引1——索引基本概念与索引结构(B树、R树、Hash等)

目录 索引(INDEX)基本概念 索引结构分类 BTree树索引结构 Hash索引结构 Full-Text索引 R-Tree索引 索引(INDEX)基本概念 什么是索引 索引是帮助MySQL高效获取数据的有序数据结构 为数据库表中的某些列创建索引,就是对数据库表中某些列的值通过不同的数据结…

桶排序算法

桶排序算法 算法思想概述:桶排序的主要步骤如下: 算法goland实现:图解演示: 算法思想概述: 桶排序(Bucket Sort)是一种非比较性的排序算法,它将待排序的元素分到有限数量的桶&#…

Gitee+Jenkins(docker版)自动推送并部署Springboot项目到远程服务器

如果要参考gitlab配置请参考GitlabWebhook自动推送并更新Springboot项目 Gitlab的配置部分 环境介绍 Jenkins服务器(Centos7.6): docker安装的jenkins,参考Jenkins(docker安装)部署Springboot项目JDK1.8Maven3.6.3 注意docker安装的jenkins,而且是较新的版本,所以jenkins容器…

php获取随机订单号(封装函数)

作为一个开发人员,生成订单时常常需要获取一段随机码来表示订单号,并且订单号一般包含的特定的时间日期等信息,临时现写一个比较浪费时间,这里有一个封装好的生成随机订单号的函数,需要时直接调用即可。 代码如下&…

AtcoderABC224场

A - TiresA - Tires 题目大意 题目要求判断给定字符串S的末尾是以"er"还是"ist"结尾,并输出对应的结果。 思路分析 使用substr函数获取字符串S的末尾2个字符或3个字符。 判断获取到的子字符串是否等于"er"或"ist"&#…

利用NtDuplicateObject进行Dump

前言 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。(本文仅用于交流学习) 这是国外老哥2020年提出的一种蛮有意思的思路。 我们先来看看大致的思路是…

java Spring Boot yml多环境配置

我们项目 线上和线下 环境配置不是特别一样 例如 运行的URL 数据库地址 数据库的账号密码 这些经常是不一样的 如果每次上线钱改 也不是特别方便 甚至可能忘记 那么 进入我们代码中 所谓的多环境 就是在不同的环境下配置不同的值 终端还是在application配置文件中 多环境的话…

【Linux】云服务器自动化部署VuePress博客(Jenkins)

前言 博主此前是将博客部署在 Github Pages(基于 Github Action)和 Vercel 上的,但是这两种部署方式对于国内用户很不友好,访问速度堪忧。因此将博客迁移到自己的云服务器上,并且基于 Jenkins(一款开源持续…

【C语言】经典题目(四)

HI,大家好~😝😝这是一篇C语言经典题目的博客。 更多C语言经典题目及刷题篇,可以参考: 🌸 【C语言】经典题目(一) 🌸 【C语言】经典题目(二) 🌸 【C语言】经典题目(三) 🌸…

k8s dns 解析service异常

查看kube-dns日志 for p in $(kubectl get pods --namespacekube-system -l k8s-appkube-dns -o name); \ do kubectl logs --namespacekube-system $p; done k8s教程(service篇)-总结_阿甘兄的技术博客_51CTO博客

兰州https证书申请

https证书是由CA认证机构颁发的数字证书,可以为域名网站或者公网IP网站提供信息加密服务,正规CA认证机构签发的https证书可以兼容99%的主流浏览器和IOS、Windows系统,同样,现在流行的小程序也需要https证书。那么,该怎…

Beautiful Sequence 2023牛客暑期多校训练营7 C

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;给出一长度n-1的数组b&#xff0c;要求构造一个长度为n的数组a&#xff0c;满足a[i]^a[i1]b[i]&#xff0c;a[i]<a[i1]&#xff0c;求字典序第k小的数组 1<n<1e6;0<a[i],b[i]< 思路&#xff1a;因为…

MySQL:表的约束和基本查询

表的约束 表的约束——为了让插入的数据符合预期。 表的约束很多&#xff0c;这里主要介绍如下几个&#xff1a; null/not null,default, comment, zerofill&#xff0c;primary key&#xff0c;auto_increment&#xff0c;unique key 。 空属性 两个值&#xff1a;null&am…

04.利用Redis国逻辑过期实现缓存功能---解决缓存击穿

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis逻辑过期实现添加缓存功能解决缓存击穿 学习产出&#xff1a; 缓存击穿讲解图&#xff1a; 解决方案&#xff1a; 采用互斥锁采用逻辑过期 1. 准备pom环境 <dependency><groupId>org.springframework…

【java】java项目在idea中Build Project或Rebuild Project一直进行不完

问题场景 我项目进行重新构建的时候&#xff0c;项目构建到某一个位置就一直不动了 解决方法 1.清理idea缓存 2.加大idea的内存 File -> Setting

Mybatis-plus 异常:Not Found TableInfoCache

标题&#xff1a;Mybatis-plus 异常&#xff1a;Not Found TableInfoCache Mybatis-plus 是一个流行的基于 Mybatis 的增强工具包&#xff0c;可以极大地简化数据库操作。然而&#xff0c;在使用 Mybatis-plus 过程中&#xff0c;可能会遇到一些异常情况&#xff0c;其中之一就…

【MySQL】MySQL 数据类型

目录 1. tinyint 类型 2. bit 类型 3. 小数类型 1、float 类型 2、decimal 类型 3. 字符串类型 1、char 类型 2、varchar 类型 4. 日期类型 5. enum和set 1、枚举和集合类型语法 2、枚举和集合类型的查找 6、find_in_set 函数 写在最后&#xff1a; 1. tinyint …

产品体系架构202308版

1.前言 当我们不断向前奔跑时&#xff0c;需要回头压实走过的路。不断扩张的同时把相应的内容沉淀下来&#xff0c;为后续的发展铺垫基石。 不知从何时起&#xff0c;产品的架构就面向了微服务/中台化/前后端分离/低代码化/分布式/智能化/运行可观测化的综合体&#xff0c;让…

Docker制作SpringBoot镜像

Dcokerfile目录 编写Dockerfile FROM openjdk:8 #发布到网上时只会把jar包和Dockerfile发布上去RUN mkdir -p /opt/javaCOPY app.jar /opt/java/app.jar #地址映射 #CMD ["--server.port8080"] #对外暴露端口(可以任意修改) EXPOSE 15009 #执行命令 #ENTRYPOINT [&q…

渗透攻击方法:原型链污染

目录 一、什么是原型链 1、原型对象 2、prototype属性 3、原型链 1、显示原型 2、隐式原型 3、原型链 4、constructor属性 二、原型链污染重现 实例 Nodejs沙箱逃逸 1、什么是沙箱&#xff08;sandbox&#xff09; 2、vm模块 一、什么是原型链 1、原型对象 JavaS…