自从微软推出代号为“Madison”的sql-server版本以来,大规模并行处理(MPP)已经开始实现。究竟是什么以及sql-server将如何从中受益?
还有与并行计算有关的大规模并行处理(MPP)吗?
答案 0 :(得分:1)
能够将工作卸载到另一台计算机,而不仅仅是同一台计算机上的另一台核心。因此,如果您有4台服务器,每台64核,则可以使用256核
而IIRC你不能自己安装,你需要购买一个预配置的系统,你基本上得到的是一个计算机架
答案 1 :(得分:1)
wiki entry将大规模并行计算定义为:
大规模并行处理(MPP)是一个 用于计算机体系结构的术语 指的是一个有很多的计算机系统 独立的算术单位或整个 微处理器,并行运行。 “大规模”一词意味着数百个 不是数千个这样的单位。早 这种系统的例子是 分布式阵列处理器 固特异MPP,连接机器, 和Ultracomputer。
通过并行执行某些查询步骤,SQL Server将以与已有的相同的方式受益。但只有相对较小的一类算法才能利用大规模并行计算;随着更多核心的增加,加速不会线性增加。可以使用它的一个很好的例子是将表分区为可单独搜索的孤岛,例如在日期范围内进行分区。
答案 2 :(得分:1)
这基本上是Teradata使用的策略。您拥有专用的服务器处理,内存和存储,并且数据在处理单元之间进行分区。每个单元都内置了自己的冗余,因为数据不会存储在其他任何地方 - 如果丢失了AMP,就会丢失数据。
在Teradata中,启用分区的魔力是PRIMARY INDEX。这决定了数据所在的AMP。查询将分发给所有AMP,然后返回数据,然后进行组合。当存在偏差并且数据需要从它所在的AMP重新分配到需要处理的AMP时,性能会受到影响。
因此,进程间通信系统,查询处理器和哈希系统是这种系统的关键组件。
在许多情况下,当数据共享非常相似的主要索引(数百万客户,数百万客户发票,数百万客户点击流事件)时,大规模并行方法很有效。这对于一大类问题非常有用,因为事情通常由客户划分,或者按日期或类似的方式划分。
当您处理Kimball样式的星型模式或尝试在单个查询中导航非常复杂的3NF模型时,它会失败。在这些情况下,您最好构建中间临时表或易失性表,并指定主索引以使数据在AMP上很好地分布,并匹配您要在下一个连接中加入的任何内容。或者改造您的仓库。
在MPP系统中,增加容量包括同时添加内存,存储和处理,这提供了相当好的可扩展性。