SQL Server并行和OLTP系统?

时间:2012-05-29 13:42:39

标签: sql-server sql-server-2008

许多在线博客我看到一个建议说并行性是针对数据仓库的 sysetms而不是OLTP系统。许多专家甚至建议通过在OLTP环境中将最大并行度设置为1来关闭并行性。我想找到依据 对于这样的建议和我的猜测是因为OLTP系统受到许多并发请求保持CPU忙;查询优化器使用的并行性可能是一种开销。

但是,不是parallelims可以是一个福音。允许请求由多个处理 线程是我们减少查询处理时间。

尝试深入研究并行性。任何有关OLTP系统并行性的建议。

2 个答案:

答案 0 :(得分:1)

SQL Server只会为昂贵的查询引入并行性。典型的OLTP查询根本不受影响。

小心使用全局MaxDOP设置,而不清楚究竟正在运行的工作负载以及设置对它的作用。

答案 1 :(得分:1)

在OLTP中,您的插入通常是小型,快速的事务,在某些情况下甚至可能是非记录操作。

同样在OLTP中,查询是典型的点查询,这意味着查询将返回单行或非常小的行集。 OLTP数据库通常可以包含在内存中(包括表和索引),因为旧数据不是OLTP系统感兴趣的内容。

大多数人在OLTP数据库中不执行任何DSS类型查询。其他索引,磁盘I / O等混乱了缓存/任务切换,可能会损害OLTP性能,这更多地基于延迟。

当您进行数据仓库类型处理时,您会查看数据范围,一天的过程,一周/月/年的平均值等。这是并行查询有意义的地方。打破问题,将它们交给工作线程并合并结果。

需要一些设置才能从中获得任何真正的好处,分区,多核/多处理器CPU,适当的磁盘控制器/路径,raid阵列或缓存前端磁盘存储(如EMC)。它们专为两个完整的问题集而设计。