DolphinDB分区与MPP(Greenplum、AWS、Redshift)的区别

  • 数据库架构

    目前的商用服务器大体可以分为三类:

    对称多处理器结构 (SMP : Symmetric Multi-Processor) ;

    非一致存储访问结构 (NUMA : Non-Uniform Memory Access) ;

    海量并行处理结构 (MPP : Massive Parallel Processing) 。

    数据库架构设计中主要有:

  • 一、Shared Everything

    Shared Everthting : 一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServer

  • 二、Shared Disk

    Shared Disk : 各个处理单元使用自己的私有 CPUMemory,共享磁盘系统。

    典型的代表Oracle Rac, 它是数据共享,可通过增加节点来提高并行处理的能力,扩展能力较好。其类似于SMPSymmetric Multi-Processor,对称多处理)模式,但是当存储器接口达到饱和的时候,增加节点并不能获得更高的性能 。

  • 三、Shared Nothing

    Shared Nothing : 各个处理单元都有自己私有的CPU/内存/硬盘等,不存在共享资源,类似于MPP(大规模并行处理)模式,各处理单元之间通过协议通信,并行处理和扩展能力更好。

    典型代表DB2 DPFhadoop ,各节点相互独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转。

    我们常说的 Sharding 其实就是Share Nothing架构.

  • MPP(Massive Parallel Processing)

    MPP, Massive Parallel Processing,大规模并行处理。

    MPP系统是由许多松耦合的处理单元(并非处理器)组成的。

    每个处理单元内的CPU都有自己私有的资源,如总线,内存,硬盘等,且都有操作系统和管理数据库的实例复本。

    这种结构最大的特点在于不共享资源(share-nothing)。

  • MPP架构特点
    • Sharing Nothing、节点之间数据不共享、只有通过网络连接实现的协同;
    • 每个节点有独立的存储和内存;
    • 数据根据某种规则(如hash)散布到各个节点;
    • 计算任务也是会发布到各个节点并行执行,最后再将结果聚合到整体返回;
    • 用户使用时会看作整体;
    • MPP数据库往往优先考虑C一致性,然后是A可用性,最后考虑P分区容忍;
    • MPP架构目前被并行数据库广泛采用,一般公国scansortmerge等操作符实施返回查询结果;
  • MPP架构的Greenplum

    GreenPlum,2003年几个ORACLE的高层,针对ORACLE没法灵活水平线性扩展的软肋,进行开发的。

    GreenPlum,主要由master hostinterconnectsegment host三大部分组成。

  • MPP架构的云数据库AWS

    AWS(Amazon Web Services),亚马逊公司的云计算LasSPaaS平台服务。

    AWS提供了一整套基础设施和应用程序服务,使几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。

  • MPP架构的云数据库Redshift

    Amazon Redshift 是一种可轻松扩展的完全托管型 PB数据仓库服务,可与您现有的商业智能工具协作。它通过使用列存储技术和并行化多个节点的查询来提供快速的查询性能

  • MPP架构与SMP架构的区别

    MPP不共享资源(shared nothing

    SMP共享资源(shared everything

  • MPP架构与DolphinDB分区

    MPP有一个主节点,每个客户端都连接到这个主节点。DolphinDB在数据库层面不存在主节点,是点对点结构,每个客户端可以连接到任何一个数据节点,不会出现主节点瓶颈问题。

    MPP一般通过哈希规则,将数据分布到各个节点上(水平分割),在各个节点内部再进行分区(垂直分割)。哈希时容易出现各个节点数据分布不均匀的问题。DolphinDB将各个节点的存储空间交给内置的分布式文件系统DFS)统一进行管理,分区的规则与分区的存储位置解耦,数据分割不再按水平和垂直两个步骤进行,而是进行全局优化。这样一来,分区的粒度更细更均匀,在计算时能充分的利用集群的所有计算资源。

    由于分布式文件系统具有强大的分区管理、容错、复制机制,以及事务管理机制,DolphinDB的单表能轻松的支持百万级别的分区。若每个分区有1GB的数据,就可实现PB级数据的存储和快速查询。另外,通过引入DFS,数据库的存储和数据库节点相分离,使得DolphinDB在集群水平扩展(新增节点)上更加方便。

  • References

  1. MPP架构
  2. 大数据系统的另一种解决方案-采用MPP架构的GreenPlum数据库
  3. Greenplum介绍
  4. [转]MPP架构
  5. SMP、NUMA、MPP体系结构介绍
  6. Github >> DolphinDB分区数据库教程
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值