数据库构架设计中的Shared EverthtingShared Nothing和Shared Disk

Posted wintersoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库构架设计中的Shared EverthtingShared Nothing和Shared Disk相关的知识,希望对你有一定的参考价值。

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

 

Shared Disk:各个处理单元使用自己的私有 CPU和Memory,共享磁盘系统。典型的代表Oracle Rac, 它是数据共享,可通过增加节点来提高并行处理的能力,扩展能力较好。其类似于SMP(对称多处理)模式,但是当存储器接口达到饱和的时候,增加节点并不能获得更高的性能 。

 

Shared Nothing:各个处理单元都有自己私有的CPU/内存/硬盘等,不存在共享资源,类似于MPP(大规模并行处理)模式,各处理单元之间通过协议通信,并行处理和扩展能力更好。典型代表DB2 DPF和hadoop ,各节点相互独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转。

我们常说的 Sharding 其实就是Share Nothing架构,它是把某个表从物理存储上被水平分割,并分配给多台服务器(或多个实例),每台服务器可以独立工作,具备共同的schema,比如mysql Proxy和Google的各种架构,只需增加服务器数就可以增加处理能力和容量。

ps:Actor模型也用了Shared Nothing 这个设计。

以上是关于数据库构架设计中的Shared EverthtingShared Nothing和Shared Disk的主要内容,如果未能解决你的问题,请参考以下文章

05《软件构架实践第二版》阅读笔记之五

PCP构架设计

浅谈《守望先锋》中的 ECS 构架

SpringCloud整体构架设计介绍

软件构架,架构和框架的区别

14.4产品线构架