并行处理的体系结构是什么?
服务器市场上有三种基本的并行处理硬件架构,例如对称多处理 (SMP)、大规模并行处理 (MPP) 和非一致性内存访问架构 (NUMA)。
对称多处理 (SMP)
SMP 架构是一个具有多个处理器的单个设备,所有处理器都由一个操作系统管理,并访问相同的磁盘和内存区域。一台具有 8 到 32 个处理器、并行数据库、大内存(2 GB 或更多)、良好磁盘和良好设计的 SMP 机器应该能够很好地处理中等规模的仓库。
数据库需要能够并行运行其进程,并且数据仓库进程需要设计成能够利用并行功能。处理器可以快速访问共享资源(内存和磁盘),但是它们访问这些资源所需的访问路径(背板)可能会随着系统规模的扩大而成为瓶颈。
由于 SMP 机器是一个单一实体,它也具有成为仓库中单点故障的弱点。为了克服这些问题,硬件公司已经提出了一些技术,允许将几台 SMP 机器连接在一起或集群。
在一个集群中,每个节点都是运行其操作系统的 SMP 机器,但是集群包括连接和控制软件,允许机器共享磁盘并提供故障转移备份。在这种情况下,如果一台机器发生故障,集群中的其他机器可以暂时接管其处理负载。当然,这种好处是有代价的——集群极其复杂,并且可能难以管理。跨集群所需的数据库技术正在改进。
大规模并行处理 (MPP)
MPP 系统是一串相对独立的计算机,每个计算机都有其操作系统、内存和磁盘,所有这些都通过来回传递消息进行协调。MPP 的优势在于能够连接数百个机器节点并将它们应用于问题,使用蛮力方法。
例如,如果您需要对大型表进行全表扫描,则将该表分散到 100 节点 MPP 系统中,并让每个节点扫描其 1/100 的表应该相对较快。这相当于计算机中的“人多力量大”。
非一致性内存访问架构 (NUMA)
NUMA 试图将 SMP 的共享磁盘适应性与 MPP 的并行速度结合起来,是一组 SMP 和 MPP。这种架构是一种相对较新的创新,在高运行时可以用于数据仓库。
NUMA 在概念上类似于集群 SMP 机器的想法,但连接更紧密,带宽更大,节点间的协调性更好。如果您能够将仓库分割成相对独立的使用组并将每个组放在其节点上,那么 NUMA 架构可能对您有效。