【发布时间】:2016-03-25 20:41:48
【问题描述】:
当您定义 Redshift 查询队列时,您可以分配分配给每个队列的内存比例。例如,如果您有 5 个队列,您可能会为每个队列分配 20% 的内存。但是,您也允许分配内存,使其一部分保持未分配状态。
在本文档中: http://docs.aws.amazon.com/redshift/latest/dg/cm-c-defining-query-queues.html 它说, “任何未分配的内存都由 Amazon Redshift 管理,如果队列请求额外的内存进行处理,则可以将其临时分配给队列。 例如,如果您配置四个队列,您可以按如下方式分配内存:20%、30%、15%、15%。剩余的 20% 未分配并由服务管理。”
在文档的前面,它说, “如果特定查询需要的内存多于分配给单个查询槽的内存,则可以通过增加 wlm_query_slot_count 参数来增加可用内存。以下示例将 wlm_query_slot_count 设置为 10,执行真空,然后将 wlm_query_slot_count 重置为 1。”
这与内存分配有关吗?可以使用查询槽计数调整来临时消耗比整个队列通常允许的更多的内存吗?
我认为我的问题实际上是关于第一句话的这一部分,“任何未分配的内存都由 Amazon Redshift 管理,并且可以临时分配给队列如果队列请求额外的内存进行处理。 "
这是否意味着运行查询的用户必须专门请求额外的内存?这是否意味着除非您提出这些特定请求,否则保留一些未分配的内存是没有用的?
【问题讨论】:
标签: amazon-web-services amazon-redshift