50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Amazon Redshift 并发扩展,始终保持巅峰性能

  • 2019-10-05
  • 本文字数:2309 字

    阅读完需:约 8 分钟

Amazon Redshift 并发扩展,始终保持巅峰性能

Amazon Redshift 是一款可以扩展到 EB 级的数据仓库。如今,数以万计的 AWS 客户(包括 NTT DOCOMO、Finra 和强生)使用 Redshift 来运行任务关键性的商业智能 (BI) 控制面板、分析实时流式处理数据以及运行预测性的分析作业。


但在高峰时刻,并发查询数量猛增,这时出现了一个问题。当许多业务分析师全部打开他们的 BI 控制面板,或者长时间运行的数据学工作负载与其他工作负载竞争资源时,Redshift 将会排队执行查询,直到集群中有足够的计算资源可用。这确保了所有工作都能够完成,但也可能意味着高峰时刻的性能会受到影响。系统本身提供了两种应对方案:


  • 超额预置集群以满足高峰需求。这种方案虽然解决了眼前的问题,但使用的资源和成本超过所需,形成了浪费。

  • 针对典型的工作负载优化集群。采用这种方案,您在高峰时刻必须花更长的时间等待结果,可能会延误重要的商业决策。

新推出并发扩展功能

今天,我想向大家介绍第三种方案。现在,您可以配置 Redshift 以根据需要增加查询处理能力。其过程十分透明并且可在几秒钟内完成,即使工作负载增加到数百条并发查询时,也能为您提供快速、稳定的性能。增加的处理能力可以在几秒钟内准备就绪,无需预热或提前预置。您只需为实际使用的处理能力付费,账单精确至秒,并且您的主集群每运行 24 小时还将赠送一小时的并发扩展集群抵扣时间。额外的处理能力将在不再需要时取消,这种方式非常适合解决我在上文描述的突增性使用案例。


您可以将突增处理能力分配给特定的用户或队列,并且可以继续使用现有的 BI 和 ETL 应用程序。并发扩展集群用于处理多种形式的只读请求,并且在工作负载上还有更多的灵活性,请参阅并发扩展以了解更多信息。

并发扩展功能的使用

您可以在几分钟内为现有的集群启用此功能! 我们建议首先使用全新的 Redshift 参数组来进行测试,因此我首先创建了一个参数组:



然后我编辑集群的工作负载管理配置,选中该新参数组,将 Concurrency Scaling Mode (并发扩展模式) 设置为自动,然后单击保存:



我将衍生自 TPC-DS 的云数据仓库基准作为测试数据和测试队列的源。我下载了 DDL 并使用我的 AWS 凭证进行自定义,然后使用 psql 来连接到我的集群并创建测试数据:


sample=# create database sample;CREATE DATABASEsample=# \connect sample;psql (9.2.24, server 8.0.2)WARNING: psql version 9.2, server version 8.0.         Some psql features might not work.SSL connection (cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256)You are now connected to database "sample" as user "awsuser".sample=# \i ddl.sql
复制代码


DDL 会创建表和负载,然后使用存储在 S3 存储桶中的数据进行填充:


sample=# \dt                 List of relations schema |          name          | type  |  owner--------+------------------------+-------+--------- public | call_center            | table | awsuser public | catalog_page           | table | awsuser public | catalog_returns        | table | awsuser public | catalog_sales          | table | awsuser public | customer               | table | awsuser public | customer_address       | table | awsuser public | customer_demographics  | table | awsuser public | date_dim               | table | awsuser public | dbgen_version          | table | awsuser public | household_demographics | table | awsuser public | income_band            | table | awsuser public | inventory              | table | awsuser public | item                   | table | awsuser public | promotion              | table | awsuser public | reason                 | table | awsuser public | ship_mode              | table | awsuser public | store                  | table | awsuser public | store_returns          | table | awsuser public | store_sales            | table | awsuser public | time_dim               | table | awsuser public | warehouse              | table | awsuser public | web_page               | table | awsuser public | web_returns            | table | awsuser public | web_sales              | table | awsuser public | web_site               | table | awsuser(25 rows)
复制代码


然后我下载了查询并打开了一组 PuTTY 窗口,以便可以为我的 Redshift 集群生成有意义的负载:



我运行了初始的并行查询集,然后逐步增加,我可以在集群的 Cluster Performance (集群性能) 选项卡中看到它们:



我可以在 Database Performance (数据库性能) 选项卡中看到有额外的处理能力在需要时上线,然后在不再需要时下线:



正如您可以看到,我的集群根据需要进行扩展,以尽快处理所有查询。“Concurrency Scaling Usage (并发扩展使用量)”显示了我使用额外处理能力的分钟数(正如我之前所提到,每个集群每 24 小时会累积一小时的并发扩展抵扣时间)。


我可以使用参数 max_concurrency_scaling_clusters 来控制可以使用的并发扩展集群数量(默认限制为 10,但您在需要时可以请求增加限制)。

现已推出

您现在可以立即在美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)、欧洲(爱尔兰)以及亚太地区(东京)等区域使用并发扩展集群,今年还将在更多区域陆续推出。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-concurrency-scaling-for-amazon-redshift-peak-performance-at-all-times/


2019-10-05 22:221729
用户头像

发布了 1943 篇内容, 共 163.6 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

Linux之mv命令

入门小站

Linux

“云智技术论坛”即将召开,百度智能云带来端边云全面智能化平台

百度大脑

人工智能 物联网 云智一体

想要做好微服务化,这个核心对象要管好

BoCloud博云

微服务

带你掌握4种Python排序算法

华为云开发者联盟

Python 编程 算法 排序 冒泡排序

在线URLEncode编码,URLDecode解码工具

入门小站

工具

全球首个开源图像识别系统上线了!人脸、商品、车辆识别一网打尽!

百度大脑

人脸识别 图像识别

深入浅出 LVS 负载均衡(四)实操 DR 模型、Keepalived DR 模型的高可用

UCloud技术

负载均衡

【21-16】PowerShell循环

耳东@Erdong

PowerShell 6月日更

微信小程序开发(一)

空城机

微信小程序 大前端 6月日更

Kubernetes手记(20)- HeapSter监控

雪雷

k8s 6月日更

用VSCode刷LeetCode

IT蜗壳-Tango

6月日更

面试官:谈谈你对geohash的理解和如何实现附近人功能呢?

李阿柯

redis 面试 geohash

HarmonyOS 实战—服务卡片初体验

爱吃土豆丝的打工人

HarmonyOS 服务卡片 鸿蒙卡片

只把华为“桑田岛时间”看做一档对话节目?格局小了!

脑极体

采访华为服务器OS首席架构师熊伟:开源背后的故事(采访提纲)

xcbeyond

采访提纲 6月日更

分布式锁相关探索

常清静

redis 分布式锁 zookeeper分布式锁 redisson 分布式锁

react源码解析19.手写迷你版react

全栈潇晨

react.js

Jenkins 如何与 Kubernetes 集群的 Tekton Pipeline 交互?

张晓辉

Kubernetes 云原生 jenkins Tekton CI/CD

你会选做通才还是专才?

石云升

职场经验 6月日更

bzz|chia矿池挖矿系统APP开发搭建

薇電13242772558

区块链

百度与张江集团达成战略合作,AI助推上海城市数字化转型

百度大脑

人工智能

zookeeper原生api操作

赵镇

zookeeper

作为新时代的Java工程师,你需要具备什么能力?

卢卡多多

Java 能力提升 6月日更 六月

Pandas高级教程之:处理缺失数据

程序那些事

Python 数据分析 pandas 程序那些事

协同过滤推荐算法(十六)

Databri_AI

推荐算法

详解 SQL 中的单表查询

悟空聊架构

sql 6月日更 单表查询 T-SQL

模块7作业

Geek_2e7dd7

架构训练营

Java8 的时间库(2):Date 与 LocalDate 或 LocalDateTime 互相转换

看山

Java 6月日更

☕【JVM监控实战】教会你使用Arthas(监控ElasticSearch服务)

码界西柚

JVM 故障定位 Arthas 6月日更

浪潮云说丨叮!这是一份浪潮云物联网平台的简历,请查收!

云计算

“布”道AI的正确打开方式

脑极体

Amazon Redshift 并发扩展,始终保持巅峰性能_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章