红移每用户并发查询

时间:2019-01-24 17:09:33

标签: sql concurrency amazon-redshift

我将单个组的Redshift WLM队列设置为并发8。在这个小组中,我有一个用户(我的主要BI工具“ looker”)同时运行大量查询。

我对此的理解是:该组的所有成员最多可以运行8个查询。但是,一个用户可以同时运行多达8个查询吗?还是单个用户这一事实会成为它可以同时运行的查询数量的瓶颈?

1 个答案:

答案 0 :(得分:2)

您设置的并发性(在您的情况下为8)适用于为该组定义的所有用户/职位。 因此,如果用户a有4个作业正在运行,而用户b有4个作业正在运行,则请求c的用户c将排队。

请参阅https://docs.aws.amazon.com/redshift/latest/dg/cm-c-defining-query-queues.html

在redshift上一次运行很多作业并不总是最好的,因为这会降低整体吞吐量。由于系统的MPP性质,单个作业通常可以很高兴地自己占用100%的资源。

关于MPP的背景知识。

MPP代表“大规模并行处理”,该技术是Redshift等分析数据库的主要区别。简而言之,其背后的思想是查询可以分为多个并行进程,这些进程是独立的,并且在它们之间不共享任何内容。 看到这里获得更详尽的描述

https://vldbsolutions.com/technology/amazon-redshift.php

通常,在MPP数据库上进行一次大型查询会占用100%的资源。这是件好事,但是,如果同时提交更多查询,则资源管理器将共享资源。 例如

1个大查询-100%的资源-在10秒内运行

4个大型查询-每个查询占25%的资源=所有4个查询在40秒内一起运行