1、架构:
MPP:
MPP (Massively Parallel Processing)大规模并行处理,最开始的设计目的是为了消除共享资源的使用。
MPP数据库是:采用非共享架构(Shared Nothing)架构的分布式并行结构化数据库集群,跑的是sql。
MPP架构是:将单机数据库节点组成集群,每个节点拥有独立的磁盘和内存系统,通过专用网络连接彼此、协同计算,从而提供整体数据处理服务。
各节点都包含自己的存储和计算功能,可以独立执行查询的一部分。 最后,在内存里进行数据合并,并将结果返回客户端。
每台机器的资源是独立的,无共享!
在设计上,MPP架构优先考虑一致性(Consistency),其次考虑可用性(Availability),同时尽量做到分区容错性(Partition Tolerance)。
MPP技术优化点:
1、在存储上基本采用的都是列存,在巨量数据上具有更好的压缩性能。
2、在计算上选择向量化的计算引擎,并利用cpu的simd指令集加速整个计算的速度。
Hadoop:
Hadoop是将多台机器的资源共享起来,用于处理大规模数据和复杂计算问题。
SQL-on-Hadoop是:将计算任务并发分散到多个计算节点上的计算,底层处理是MR程序。
分布式架构是:各节点都拥有自己的计算能力和存储资源,能够实现场地自治(单独运行局部应用程序)。
数据在集群中全局透明共享,且各节点之间都通过局域网或广域网相连,但节点之间通信的开销较大,因此在运算时需要尽量减少数据移动。
多台机器的资源共享起来!
在设计上,分布式系统通常会优先考虑分区容错性(Partition Tolerance),其次考虑可用性(Availability),尽量做到一致性(Consistency)。
2、使用场景:
MPP:
MPP数据库适合存储高密度价值数据,并且是长期存储和多次使用,所以MPP并行数据库会花大量的精力在Load阶段,把数据处理成适合分析格式。
带来的优点就是从查询速度快,通常在秒级甚至毫秒级以内就可以返回查询结果。
适合替代现有关系数据机构下的大数据处理。
适合多维度数据自助分析、数据集市等。
Hadoop:
Hadoop分布式架构是将多台机器的资源共享起来,将计算任务并发分散到多个计算节点上计算,主要用于处理大规模数据和复杂计算问题。
适合海量数据存储查询、批量数据ETL、非机构化数据分析(日志分析、文本分析)等。
3、优缺点:
MPP:
优点:
1、MPP架构(采用Non-Master部署,节点对等的扁平结构)将数据分散到多个节点上,每个节点拥有独立的处理能力,能够同时处理多个任务,从而大幅提高数据处理性能。
2、MPP解决了单个SQL数据库不能存放海量数据的问题。
3、MPP架构可以通过增加计算节点、CPU和存储等硬件资源来实现横向扩展。
4、MPP适合替代现有关系数据机构下的大数据处理,具有较高的效率。