Amazon Redshift 继续保持在性价比方面的领先地位

12
0
{"value":"数据是一种战略资产。要想从数据中及时获取价值,能够在大规模下保持较低成本的同时确保高性能的系统必不可少。[Amazon Redshift](http://aws.amazon.com/redshift) 是最流行的云数据仓库,每天有成千上万的客户使用它来分析 EB 级数据。我们不断增加新的功能,以便在客户将更多数据带入 Amazon Redshift 环境时,不断为客户提升性价比。\n\n这篇文章详细介绍了我们通过 Amazon Redshift 机群的遥测数据发现的分析工作负载趋势,我们为提高 Amazon Redshift 性价比而推出的新功能,以及通过源自 TPC-DS 和 TPC-H 的最新基准测试获得的结果,这些结果有力地支持了我们的领先地位。\n\n### **数据驱动型性能优化**\n\n我们坚持不懈地致力于提高 Amazon Redshift 的性价比,这样您便可以持续感受到实际工作负载的改进。为此,Amazon Redshift 团队采用数据驱动型方法实现性能优化。Werner Vogels 介绍了我们在 [Amazon Redshift 中采用的方法以及在云端优化性能的技巧](https://www.allthingsdistributed.com/2018/11/amazon-redshift-performance-optimization.html),我们坚持不懈地将专注于利用来自庞大客户群的性能遥测数据,推动我们客户最为重视的 Amazon Redshift 性能改进。\n\n此时,您可能会问,为什么性价比很重要? 数据仓库的一个关键层面在于它如何随着数据的增长扩展。您是在增加了更多数据时为每 TB 支付更多费用,还是保持稳定且可预测的成本? 我们努力确保 Amazon Redshift 不仅能在数据增长时提供强劲的性能,而且还能提供稳定的性价比。\n\n### **优化高并发、低延迟的工作负载**\n\n我们观察到的趋势之一是,客户越来越多地构建需要高并发度、低延迟查询的分析应用程序。在数据仓库环境中,这意味着会有数百甚至数千名用户运行查询,且响应时间 SLA 低于 5 秒。\n\n一种常见场景是由 Amazon Redshift 提供支持的商业智能控制面板,用来为非常大量的分析师提供分析功能。例如,我们的一位客户处理外汇汇率,并使用 Amazon Redshift 支持的控制面板基于这些数据向其用户提供洞察。平均而言,这些用户会对 Amazon Redshift 生成 200 个并发查询,在市场开盘和收盘时会激增至 1200 个并发查询,并且 P90 查询 SLA 为 1.5 秒。Amazon Redshift 能够满足这一要求,使得客户可以满足业务 SLA,并为其用户提供尽可能最好的服务。\n\n我们跟踪的一个具体指标是,所有集群中短运行时间查询(运行时间少于 1 秒的查询)所占的运行时间百分比。在过去的一年中,我们看到 Amazon Redshift 机群中的短查询工作负载显著增加,如下图所示。\n\n![image.png](https://dev-media.amazoncloud.cn/a1d400da61444bfc86c6f45388a7f178_image.png)\n\nAmazon Redshift 如何运行此类工作负载,并从中发现了几个优化性能的机会,以便为您提供更好的短查询吞吐量:\n\n- 我们显著减少了 Amazon Redshift 的查询规划开销。尽管这种开销并不是很大,但它会是短查询运行时间的重要部分。\n- 对于多个并发进程争用相同资源的情况,我们改进了几个核心组件的性能。这进一步减少了查询开销。\n- 我们进行了改进,使得 Amazon Redshift 能够更高效地将突增的这些短查询转到并发扩展集群中,从而改善并行查询能力。\n\n为了探明 Amazon Redshift 在进行这些工程改进后的情况,我们使用源自 TPC-DS 的云数据仓库基准测试开展了内部测试(有关基准测试的更多详细信息,请参见后文,该基准测试在 GitHub 上提供)。为了模拟高并发度、低延迟的工作负载,我们使用了一个 10 GB 的小型数据集,这样便可以在几秒以内运行所有查询。我们还对其他几个云数据仓库运行了相同的基准测试。对于此测试,我们没有启用弹性伸缩功能,例如 Amazon Redshift 上的并发扩展,因为并非所有数据仓库都支持该功能。我们使用了 ra3.4xlarge Amazon Redshift 集群,并使用按需价格,将所有其他数据仓库的大小调整为最接近的等价配置。基于此配置,我们发现,对于主要需要短查询、低延迟和高并发度的分析应用程序,Amazon Redshift 可提供高达 8 倍的性能,如下图所示。\n\n![image.png](https://dev-media.amazoncloud.cn/4a0572ae18ed490c890c1e291f4122fc_image.png)\n\n借助 Amazon Redshift 上的并发扩展,随着用户并发度的增长,可以将吞吐量无缝地自动扩展到其他 Amazon Redshift 集群。根据遥测数据,我们可以看到越来越多的客户使用 Amazon Redshift 构建此类分析应用程序。\n\n这只是我们团队持续开展的幕后工程改进的一小部分,这些改进旨在使用数据驱动型方法帮助您提高性能并节省成本。\n\n### **提高性价比的新功能**\n\n随着数据格局的不断演变,客户需要能够持续推出新功能的高性能数据仓库,以实现大规模下的最佳性能,同时为所有工作负载和应用程序保持较低的成本。我们会继续添加功能,这些功能可直接提高 Amazon Redshift 的性价比,而不会给您带来额外成本,让您能够解决任何规模的业务问题。这些功能包括通过 Amazon Nitro System 使用业界一流的硬件、使用 AQUA 进行硬件加速、自动重写查询以使用物化视图加快运行速度、面向架构优化的自动表优化(ATO, Automatic Table Optimization)、提供动态并发和优化资源利用率的自动工作负载管理(WLM, Automatic Workload Management)、短查询加速、自动物化视图、矢量化和单指令/多数据(SIMD, Single Instruction/Multiple Data)处理等等。Amazon Redshift 已经发展成为一个自我学习、自我调整的数据仓库,消除了管理性能的工作需求,使您可以专注于构建分析应用程序等高价值活动。\n\n为了验证最新的 Amazon Redshift 性能增强功能的影响,我们运行了性价比基准测试,将 Amazon Redshift 与其他云数据仓库进行了比较。对于这些测试,我们使用 10 节点的 ra3.4xlarge Amazon Redshift 集群,运行了源自 TPC-DS 的基准测试和源自 TPC-H 的基准测试。对于在其他数据仓库上运行测试,我们根据所有数据仓库公开发布的按需定价,选择了价格与 Amazon Redshift 集群最相符的数据仓库规格(每小时 32.60 美元)。由于 Amazon Redshift 是一个自动优化数据仓库,因此所有测试都是“开箱即用”的,这意味着无需应用手动调整或特殊的数据库配置 – 集群启动并运行基准。然后,将每小时成本(USD)乘以基准运行时间(以小时为单位)来计算性价比,这等于运行基准测试的成本。\n\n对于源自 TPC-DS 测试和源自 TPC-H 的测试,我们发现 Amazon Redshift 始终能够提供最佳的性价比。下图显示了源自 TPC-DS 的基准测试的结果。\n\n![image.png](https://dev-media.amazoncloud.cn/ee98284d5805490c852fc2f68a7fed54_image.png)\n\n下图显示了源自 TPC-H 的基准测试的结果。\n\n![image.png](https://dev-media.amazoncloud.cn/1676daf683c746a48294ef3f911548bb_image.png)\n\n尽管这些基准测试再次证实了 Amazon Redshift 在性价比方面的领先地位,但我们始终建议您使用自己的概念验证工作负载来试用 Amazon Redshift,这是了解 Amazon Redshift 与您数据需求相符程度的最佳方式。\n\n### **为您的工作负载找到最佳性价比**\n\n- 从 TPC-DS 和 TPC-H 不经修改地使用架构和数据。\n- 从 TPC-DS 和 TPC-H 不经修改地使用查询。如果数据仓库不支持原定设置 TPC-DS 或 TPC-H 查询的 SQL 语言,则该数据仓库将使用 TPC 批准的查询变体。\n- 该测试仅包括 99 个 TPC-DS 和 22 个 TPC-H SELECT 查询。不包括维护和吞吐量步骤。\n- 使用 TPC-DS 和 TPC-H 套件的原定设置随机种子生成的查询参数,进行了三次全功率运行(单个流)。\n- 计算性价比时使用的主要指标是查询总运行时间。运行时间采用三次运行中最好的一次。\n- 将每小时成本(USD)乘以基准运行时间(以小时为单位)来计算性价比,这等于运行基准测试的成本。所有数据仓库均使用公开发布的按需定价。\n\n我们将此基准测试称为云数据仓库基准测试,您可以使用 [GitHub](https://github.com/awslabs/amazon-redshift-utils/tree/master/src/CloudDataWarehouseBenchmark/Cloud-DWB-Derived-from-TPCDS) 上提供的脚本、查询和数据,轻松重现上述的基准测试结果。如前所述,它源自 TPC-DS 和 TPC-H 基准测试,因此不能与已发布的 TPC-DS 或 TPC-H 结果进行比较,因为我们的测试结果并未遵循该规范。\n\n每个工作负载都有各自的特色,因此,如果您刚刚开始入门,概念验证是了解 Amazon Redshift 在您独特情况下表现如何的最佳方式。在运行自己的概念验证时,您必须关注正确的指标 – 查询吞吐量(每小时查询数)和性价比。您可以自行运行或者在 Amazon 或[系统集成和咨询合作伙伴](https://aws.amazon.com/redshift/partners/)的[帮助](https://pages.awscloud.com/redshift-proof-of-concept-request)下运行概念验证,从而做出数据驱动型决策。\n\n### **结论**\n\n这篇文章讨论了我们在 Amazon Redshift 客户那儿发现的分析工作负载趋势,我们为提高 Amazon Redshift 性价比而推出的新功能,以及最新基准测试的结果。\n\n如果您是 Amazon Redshift 的现有客户,请联系我们参加免费的优化研讨会,并简要了解在 Amazon re:Invent 2021 上宣布的新功能。要了解 Amazon Redshift 的最新发展动态,请关注 Amazon Redshift 新增功能新闻源。\n\n### **本篇作者**\n\n![image.png](https://dev-media.amazoncloud.cn/457437376409446d95a8935e6a70fae8_image.png)\n\n#### **Stefan Gromoll**\n\nStefan Gromoll 是 Amazon Redshift 高级性能工程师,负责衡量和提高 Redshift 的性能。业余时间,他喜欢烹饪、和三个儿子一起玩耍以及砍柴。\n\n![image.png](https://dev-media.amazoncloud.cn/6adf215350f0483c9f296d3966ec5831_image.png)\n\n#### **Ravi Animi**\n\nRavi Animi 是 Redshift 团队的高级产品管理负责人,负责管理 Amazon Redshift 云数据仓库服务的多个职能领域,包括性能、空间分析、流式摄入和迁移策略。他在关系数据库、多维数据库、IoT 技术、存储和计算基础设施服务方面拥有丰富的经验,最近还成立了一家初创公司,发掘 AI/ 深度学习、计算机视觉和机器人技术的应用。\n\n![image.png](https://dev-media.amazoncloud.cn/b05e025750e149329c43414d241caa8b_image.png)\n\n#### **Florian Wende**\n\nFlorian Wende 是 Amazon Redshift 的性能工程师","render":"<p>数据是一种战略资产。要想从数据中及时获取价值,能够在大规模下保持较低成本的同时确保高性能的系统必不可少。<a href=\"http://aws.amazon.com/redshift\" target=\"_blank\">Amazon Redshift</a> 是最流行的云数据仓库,每天有成千上万的客户使用它来分析 EB 级数据。我们不断增加新的功能,以便在客户将更多数据带入 Amazon Redshift 环境时,不断为客户提升性价比。</p>\n<p>这篇文章详细介绍了我们通过 Amazon Redshift 机群的遥测数据发现的分析工作负载趋势,我们为提高 Amazon Redshift 性价比而推出的新功能,以及通过源自 TPC-DS 和 TPC-H 的最新基准测试获得的结果,这些结果有力地支持了我们的领先地位。</p>\n<h3><a id=\"_4\"></a><strong>数据驱动型性能优化</strong></h3>\n<p>我们坚持不懈地致力于提高 Amazon Redshift 的性价比,这样您便可以持续感受到实际工作负载的改进。为此,Amazon Redshift 团队采用数据驱动型方法实现性能优化。Werner Vogels 介绍了我们在 <a href=\"https://www.allthingsdistributed.com/2018/11/amazon-redshift-performance-optimization.html\" target=\"_blank\">Amazon Redshift 中采用的方法以及在云端优化性能的技巧</a>,我们坚持不懈地将专注于利用来自庞大客户群的性能遥测数据,推动我们客户最为重视的 Amazon Redshift 性能改进。</p>\n<p>此时,您可能会问,为什么性价比很重要? 数据仓库的一个关键层面在于它如何随着数据的增长扩展。您是在增加了更多数据时为每 TB 支付更多费用,还是保持稳定且可预测的成本? 我们努力确保 Amazon Redshift 不仅能在数据增长时提供强劲的性能,而且还能提供稳定的性价比。</p>\n<h3><a id=\"_10\"></a><strong>优化高并发、低延迟的工作负载</strong></h3>\n<p>我们观察到的趋势之一是,客户越来越多地构建需要高并发度、低延迟查询的分析应用程序。在数据仓库环境中,这意味着会有数百甚至数千名用户运行查询,且响应时间 SLA 低于 5 秒。</p>\n<p>一种常见场景是由 Amazon Redshift 提供支持的商业智能控制面板,用来为非常大量的分析师提供分析功能。例如,我们的一位客户处理外汇汇率,并使用 Amazon Redshift 支持的控制面板基于这些数据向其用户提供洞察。平均而言,这些用户会对 Amazon Redshift 生成 200 个并发查询,在市场开盘和收盘时会激增至 1200 个并发查询,并且 P90 查询 SLA 为 1.5 秒。Amazon Redshift 能够满足这一要求,使得客户可以满足业务 SLA,并为其用户提供尽可能最好的服务。</p>\n<p>我们跟踪的一个具体指标是,所有集群中短运行时间查询(运行时间少于 1 秒的查询)所占的运行时间百分比。在过去的一年中,我们看到 Amazon Redshift 机群中的短查询工作负载显著增加,如下图所示。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/a1d400da61444bfc86c6f45388a7f178_image.png\" alt=\"image.png\" /></p>\n<p>Amazon Redshift 如何运行此类工作负载,并从中发现了几个优化性能的机会,以便为您提供更好的短查询吞吐量:</p>\n<ul>\n<li>我们显著减少了 Amazon Redshift 的查询规划开销。尽管这种开销并不是很大,但它会是短查询运行时间的重要部分。</li>\n<li>对于多个并发进程争用相同资源的情况,我们改进了几个核心组件的性能。这进一步减少了查询开销。</li>\n<li>我们进行了改进,使得 Amazon Redshift 能够更高效地将突增的这些短查询转到并发扩展集群中,从而改善并行查询能力。</li>\n</ul>\n<p>为了探明 Amazon Redshift 在进行这些工程改进后的情况,我们使用源自 TPC-DS 的云数据仓库基准测试开展了内部测试(有关基准测试的更多详细信息,请参见后文,该基准测试在 GitHub 上提供)。为了模拟高并发度、低延迟的工作负载,我们使用了一个 10 GB 的小型数据集,这样便可以在几秒以内运行所有查询。我们还对其他几个云数据仓库运行了相同的基准测试。对于此测试,我们没有启用弹性伸缩功能,例如 Amazon Redshift 上的并发扩展,因为并非所有数据仓库都支持该功能。我们使用了 ra3.4xlarge Amazon Redshift 集群,并使用按需价格,将所有其他数据仓库的大小调整为最接近的等价配置。基于此配置,我们发现,对于主要需要短查询、低延迟和高并发度的分析应用程序,Amazon Redshift 可提供高达 8 倍的性能,如下图所示。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/4a0572ae18ed490c890c1e291f4122fc_image.png\" alt=\"image.png\" /></p>\n<p>借助 Amazon Redshift 上的并发扩展,随着用户并发度的增长,可以将吞吐量无缝地自动扩展到其他 Amazon Redshift 集群。根据遥测数据,我们可以看到越来越多的客户使用 Amazon Redshift 构建此类分析应用程序。</p>\n<p>这只是我们团队持续开展的幕后工程改进的一小部分,这些改进旨在使用数据驱动型方法帮助您提高性能并节省成本。</p>\n<h3><a id=\"_34\"></a><strong>提高性价比的新功能</strong></h3>\n<p>随着数据格局的不断演变,客户需要能够持续推出新功能的高性能数据仓库,以实现大规模下的最佳性能,同时为所有工作负载和应用程序保持较低的成本。我们会继续添加功能,这些功能可直接提高 Amazon Redshift 的性价比,而不会给您带来额外成本,让您能够解决任何规模的业务问题。这些功能包括通过 Amazon Nitro System 使用业界一流的硬件、使用 AQUA 进行硬件加速、自动重写查询以使用物化视图加快运行速度、面向架构优化的自动表优化(ATO, Automatic Table Optimization)、提供动态并发和优化资源利用率的自动工作负载管理(WLM, Automatic Workload Management)、短查询加速、自动物化视图、矢量化和单指令/多数据(SIMD, Single Instruction/Multiple Data)处理等等。Amazon Redshift 已经发展成为一个自我学习、自我调整的数据仓库,消除了管理性能的工作需求,使您可以专注于构建分析应用程序等高价值活动。</p>\n<p>为了验证最新的 Amazon Redshift 性能增强功能的影响,我们运行了性价比基准测试,将 Amazon Redshift 与其他云数据仓库进行了比较。对于这些测试,我们使用 10 节点的 ra3.4xlarge Amazon Redshift 集群,运行了源自 TPC-DS 的基准测试和源自 TPC-H 的基准测试。对于在其他数据仓库上运行测试,我们根据所有数据仓库公开发布的按需定价,选择了价格与 Amazon Redshift 集群最相符的数据仓库规格(每小时 32.60 美元)。由于 Amazon Redshift 是一个自动优化数据仓库,因此所有测试都是“开箱即用”的,这意味着无需应用手动调整或特殊的数据库配置 – 集群启动并运行基准。然后,将每小时成本(USD)乘以基准运行时间(以小时为单位)来计算性价比,这等于运行基准测试的成本。</p>\n<p>对于源自 TPC-DS 测试和源自 TPC-H 的测试,我们发现 Amazon Redshift 始终能够提供最佳的性价比。下图显示了源自 TPC-DS 的基准测试的结果。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/ee98284d5805490c852fc2f68a7fed54_image.png\" alt=\"image.png\" /></p>\n<p>下图显示了源自 TPC-H 的基准测试的结果。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/1676daf683c746a48294ef3f911548bb_image.png\" alt=\"image.png\" /></p>\n<p>尽管这些基准测试再次证实了 Amazon Redshift 在性价比方面的领先地位,但我们始终建议您使用自己的概念验证工作负载来试用 Amazon Redshift,这是了解 Amazon Redshift 与您数据需求相符程度的最佳方式。</p>\n<h3><a id=\"_50\"></a><strong>为您的工作负载找到最佳性价比</strong></h3>\n<ul>\n<li>从 TPC-DS 和 TPC-H 不经修改地使用架构和数据。</li>\n<li>从 TPC-DS 和 TPC-H 不经修改地使用查询。如果数据仓库不支持原定设置 TPC-DS 或 TPC-H 查询的 SQL 语言,则该数据仓库将使用 TPC 批准的查询变体。</li>\n<li>该测试仅包括 99 个 TPC-DS 和 22 个 TPC-H SELECT 查询。不包括维护和吞吐量步骤。</li>\n<li>使用 TPC-DS 和 TPC-H 套件的原定设置随机种子生成的查询参数,进行了三次全功率运行(单个流)。</li>\n<li>计算性价比时使用的主要指标是查询总运行时间。运行时间采用三次运行中最好的一次。</li>\n<li>将每小时成本(USD)乘以基准运行时间(以小时为单位)来计算性价比,这等于运行基准测试的成本。所有数据仓库均使用公开发布的按需定价。</li>\n</ul>\n<p>我们将此基准测试称为云数据仓库基准测试,您可以使用 <a href=\"https://github.com/awslabs/amazon-redshift-utils/tree/master/src/CloudDataWarehouseBenchmark/Cloud-DWB-Derived-from-TPCDS\" target=\"_blank\">GitHub</a> 上提供的脚本、查询和数据,轻松重现上述的基准测试结果。如前所述,它源自 TPC-DS 和 TPC-H 基准测试,因此不能与已发布的 TPC-DS 或 TPC-H 结果进行比较,因为我们的测试结果并未遵循该规范。</p>\n<p>每个工作负载都有各自的特色,因此,如果您刚刚开始入门,概念验证是了解 Amazon Redshift 在您独特情况下表现如何的最佳方式。在运行自己的概念验证时,您必须关注正确的指标 – 查询吞吐量(每小时查询数)和性价比。您可以自行运行或者在 Amazon 或<a href=\"https://aws.amazon.com/redshift/partners/\" target=\"_blank\">系统集成和咨询合作伙伴</a>的<a href=\"https://pages.awscloud.com/redshift-proof-of-concept-request\" target=\"_blank\">帮助</a>下运行概念验证,从而做出数据驱动型决策。</p>\n<h3><a id=\"_63\"></a><strong>结论</strong></h3>\n<p>这篇文章讨论了我们在 Amazon Redshift 客户那儿发现的分析工作负载趋势,我们为提高 Amazon Redshift 性价比而推出的新功能,以及最新基准测试的结果。</p>\n<p>如果您是 Amazon Redshift 的现有客户,请联系我们参加免费的优化研讨会,并简要了解在 Amazon re:Invent 2021 上宣布的新功能。要了解 Amazon Redshift 的最新发展动态,请关注 Amazon Redshift 新增功能新闻源。</p>\n<h3><a id=\"_69\"></a><strong>本篇作者</strong></h3>\n<p><img src=\"https://dev-media.amazoncloud.cn/457437376409446d95a8935e6a70fae8_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"Stefan_Gromoll_73\"></a><strong>Stefan Gromoll</strong></h4>\n<p>Stefan Gromoll 是 Amazon Redshift 高级性能工程师,负责衡量和提高 Redshift 的性能。业余时间,他喜欢烹饪、和三个儿子一起玩耍以及砍柴。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/6adf215350f0483c9f296d3966ec5831_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"Ravi_Animi_79\"></a><strong>Ravi Animi</strong></h4>\n<p>Ravi Animi 是 Redshift 团队的高级产品管理负责人,负责管理 Amazon Redshift 云数据仓库服务的多个职能领域,包括性能、空间分析、流式摄入和迁移策略。他在关系数据库、多维数据库、IoT 技术、存储和计算基础设施服务方面拥有丰富的经验,最近还成立了一家初创公司,发掘 AI/ 深度学习、计算机视觉和机器人技术的应用。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/b05e025750e149329c43414d241caa8b_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"Florian_Wende_85\"></a><strong>Florian Wende</strong></h4>\n<p>Florian Wende 是 Amazon Redshift 的性能工程师</p>\n"}
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭