首页 > 编程知识 正文

数据库架构,mpp架构和大数据区别

时间:2023-05-03 06:49:48 阅读:61400 作者:4212

数据库框架的设计主要包括Shared Everthting、Shared Nothing和Shared Disk。

Shared Everthting:通常对一台主机完全透明地共享CPU/MEMORY/IO,并行处理能力最低,通常表示SQLServer

Shared Disk :每个处理单元使用自己的专用CPU和内存共享磁盘系统。 最具代表性的是Oracle Rac,它通过增加节点来提高并行处理能力,并提供可扩展的数据共享。 这类似于系统多处理器(SMP )模式,但如果内存接口达到饱和,则增加节点将无法获得更高的性能。

Shared Nothing :每个处理单元都有自己的专用CPU、存储器、硬盘等,不存在共享资源。 通过如MPP (大规模并行处理)模式那样在各处理单元之间进行协议通信,提高了并行处理和可扩展性。 通常表示DB2 DPF和hadoop,其中每个节点彼此独立,各自处理自己的数据,处理后的结果可能聚合到上层或者在节点之间移动。

常见的Sharding其实是一种共享通告体系结构,它将一个表从物理存储中水平拆分,并将其分配给多个服务器(或多个实例)。 每台服务器都是独立运行的,具有通用架构(如MySQL Proxy和Google ),您可以通过增加服务器数量来增加处理能力和容量。

MPP概念MPP即大规模并行处理(massively并行处理器)。 在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分为各个节点,每个数据节点通过专用网或商用通用网相互非共享数据库群集具有完全可扩展性、高可用性、高性能、高性价比和资源共享等优点。

大规模并行处理(MPP )体系结构

示例Greenplum是一个基于PostgreSQL的分布式数据库。 它采用共享通告体系结构(MPP ),主机、操作系统、内存和存储都是自行控制的,不存在共享。 这意味着每个节点都是一个单独的数据库。 节点之间的信息交换通过节点互联网络进行。 通过将数据分布在多个节点上来实现大规模的数据存储,并通过并行查询处理来提高查询的性能。

这就像组织一个小数据库并整合到一个大数据库中。 将数据切片并存储在每个节点上。 每个节点只查询自己的数据。 得到的结果经过主节点处理后得到最终结果。 通过增加节点数实现系统的线性扩展。

elasticsearch还是MPP体系结构的数据库。 Presto、Impala等是MPP engine,各个节点不共享资源。 每个执行程序都可以自己完成数据读取和计算。 缺点是害怕stragglers,遇到后,整个engine的性能会降低到这个straggler的能力

Spark SQL仍然应该认为是Batching Processing,因为中间计算结果需要落在磁盘上,所以查询效率不如MPP架构的引擎(例如Impala )高。

(原文地址: https://my.oschina.net/u/2000675/blog/1546160 ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。