|
|
1
1
这基本上就是Teradata使用的策略。您有专用的服务器处理、内存和存储,并且数据跨处理单元进行分区。每个单元都有自己的内置冗余,因为数据不存储在任何其他地方-如果您丢失了一个放大器,您将丢失数据。 在Teradata中,实现分区的魔力是主索引。这决定了数据使用哪个AMP。查询被分发到所有AMP,它们返回数据,然后进行组合。当存在歪斜并且数据需要从它所在的AMP重新分配到需要它进行处理的AMP时,性能会受到影响。 因此,进程间通信系统、查询处理器和哈希系统是这类系统的关键组成部分。 在许多情况下,当数据共享非常相似的主要索引(数百万客户、数百万客户发票、数百万客户单击流事件)时,大规模并行方法可以很好地工作。这对于一大类问题来说是很好的,因为事情通常是由客户、日期或类似的东西划分的。 当您处理类似Kimball样式的星型模式或试图在单个查询中导航非常复杂的3nf模型时,它会失败。在这些情况下,您最好构建中间临时表或易失表,并指定主索引,以使数据在AMPS上分布良好,并在下一个联接中匹配要联接的数据。或者改造你的仓库。 在MPP系统中,增加容量涉及同时增加内存、存储和处理,这提供了相当好的可扩展性。 |
|
|
2
1
它能够将工作卸载到不同的计算机上,而不仅仅是卸载到同一台计算机上的另一个核心上,因此,如果您有4个服务器,每个服务器都有64个核心,那么您可以分为256个核心。 而iirc你不能自己安装,你需要购买一个预先配置的系统,你基本上得到的是一个计算机机架 |
|
3
1
这个 wiki entry 将大规模并行计算定义为:
通过并行执行某些查询步骤,SQL Server将像以前一样受益。但是只有相对较小的一类算法可以利用大规模并行计算;随着更多核心的添加,速度不会线性增加。一个很好的例子是,可以在哪里使用它,在哪里表被划分成单独的可搜索的孤岛,例如划分日期范围。 |