MPP架构是什么?看这一篇就行了。。
文章目录MPP是什么SMP- Symmetric Multi-Processor 对称多处理器结构NUMA -Non-Uniform Memory Access 非一致存储访问结构MPP -Massive-Parallel Processing 海量并行处理架构MPP DB学习笔记:大数据架构详解:从数据获取到深度学习MPP是什么系统架构层面的服务器分类,如下三类:SMP- Sym...
文章目录
学习笔记:大数据架构详解:从数据获取到深度学习
MPP是什么
- 系统架构层面的服务器分类,如下三类:
SMP- Symmetric Multi-Processor 对称多处理器结构
- 特点
Uniform Memory Access
共享存储:cpu,内存,io - 不足
扩展能力有限
内存总线限制访问内存的效率
NUMA -Non-Uniform Memory Access 非一致存储访问结构
- 特点
拥有多个CPU模块,每个模块由多个CPU组成,有独立的本地内存,io槽口
节点之间通过互联模块进行连接和信息交互:同一台物理服务器内部实现,cpu异地访问时必须等待
较好解决SMP系统的扩展问题 - 不足
互联模块访问效率和本地内存访问不在一个效率层级,系统性能无法和cpu数线性增加
MPP -Massive-Parallel Processing 海量并行处理架构
另一种系统扩展的方式
- 特点
- SMP组合的方式:每台SMP服务器(节点)通过节点互联网络连接。
节点互联网络:MPP内部使用,对用户透明,在不同SMP服务器外部通过IO实现,每个节点只访问本地内存和存储,节点信息交互和节点本身是并行处理的。 - 每个节点只访问本地资源(内存,存储),Share Nothing结构。
- 对等节点:所有数据节点角色一样。可以提升并行计算能力
- 汇总节点:数据汇总节点的稳定性,可用性影响整体的性能
- SMP组合的方式:每台SMP服务器(节点)通过节点互联网络连接。
- 不足
- 复杂的机制来调度和平衡各个节点的负载和并行处理过程。
- 短板效应。
如果一个节点总是执行的慢于集群中其他的节点,整个集群的性能就会受限于这个故障节点的执行速度(所谓木桶的短板效应),无论集群有多少节点,都不会有所提高。
当MPP系统中某个节点的RAID由于磁盘问题导致的性能很慢,或者硬件或者系统问题带来的CPU性能问题等等,都会产生这样的问题。所有的MPP系统都面临这样的问题。 - MPP集群规模不能过大。
- 并发度不能过高,数据查询汇总节点的并发查询数限制在10+数量级,用户数有限制。
MPP DB
- Share Disk
使用独立的cpu,内存,,共享硬盘系统,不存在数据同步问题,有存储瓶颈问题
OracleRac
- Share Nothing
水平扩展灵活,元数据同步、故障恢复问题
典型MPP DB
了解MPP的架构特点,再来看看有代表性的一些产品,是不是有一种大同小异、豁然开朗的感觉。
Greenplum
PostgreSQL的基础上 、MPP架构
关系型分布式数据仓库
兼容Hadoop生态,-》HAWQ,存储层改用HDFS.
- 架构
- 大规模存储
Hash分片,表分区:数据到各个Segment Host - 并行处理
- 支持索引
B-Tree
Bitmap
Hash
Teradata
暂无了解,原理细节及使用介绍参考这位仁兄的文章
Impala
Presto
Distributed SQL Query Engine for Big Data
官方文档
-
presto目标定位
Presto is a tool designed to efficiently query vast amounts of data using distributed queries. If you work with terabytes or petabytes of data, you are likely using tools that interact with Hadoop and HDFS. Presto was designed as an alternative to tools that query HDFS using pipelines of MapReduce jobs such as Hive or Pig, but Presto is not limited to accessing HDFS. Presto can be and has been extended to operate over different kinds of data sources including traditional relational databases and other data sources such as Cassandra.Presto was designed to handle data warehousing and analytics: data analysis, aggregating large amounts of data and producing reports. These workloads are often classified as Online Analytical Processing (OLAP).
-
presto组件
-
presto使用
-
presto 与 Impala区别
ElasticSearch
es版本变更很快,与java spring体系集成方面,产生了一些第三方组件库,
比较高效的一种方案参考 bboss
Vertica
Vertica 采用无共享的MPP 架构,基于工业标准的x86 服务器,拥有高可扩展性。
Vertica 集群中的所有节点100%对等,集群中没有主节点或其他共享资源,详细资料见百度百科的介绍
MPP架构的应用场景
搜索架构
查询服务
client节点,数据汇总节点(协调节点),并行计算节点。
协调节点也是集群中任意同构的计算节点,其性能、稳定性、可用性决定了集群的整体表现。
更多推荐
所有评论(0)