为 Amazon Redshift 执行概念验证 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

为 Amazon Redshift 执行概念验证

Amazon Redshift 是一种快速、可扩展的数据仓库,它能够通过结合使用标准 SQL 与您现有的商业情报 (BI) 工具,简单、经济高效地分析所有数据。Amazon Redshift 在低成本云数据仓库中提供快速性能。它使用复杂的查询优化、加速缓存、高性能本地磁盘上的列式存储和大规模并行查询执行。

在以下章节中,您可以查找用于使用 Amazon Redshift 构建概念验证的框架。该框架可帮助您使用用于设计和运行安全、高性能且经济高效的 数据仓库的架构最佳实践。本指南基于对涉及各种业务类型和使用案例的成千上万个客户架构的设计的审查编写而成。我们收集了大量客户体验来制定这一系列最佳实践,帮助您制定用于评估数据仓库工作负载的标准。

过程概览

概念验证的执行过程包括三个步骤:

  1. 确定概念验证的目标 – 您可以从业务需求和成功标准向后工作,并将其转化为技术概念验证项目计划。

  2. 设置概念验证环境 – 大多数设置过程只需点击几个按钮即可创建资源。几分钟内,您就可以准备好加载数据的数据仓库环境。

  3. 执行概念验证项目计划,以确保达到目标。

在以下章节中,我们将了解每个步骤的详细信息。

确定业务目标和成功标准

确定概念验证的目标对于确定要在评估过程中度量的项目至关重要。评估标准应包含当前扩展难题、旨在改善数据仓库的客户体验的增强以及解决您当前的运营痛点的方法。可以使用以下问题来确定概念验证的目标:

  • 您有哪些扩展 数据仓库的目标?

  • 您希望改进其条款的特定服务等级协议有哪些?

  • 您需要在数据仓库中包含哪些新数据集?

  • 您需要对哪些业务关键型 SQL 查询进行测试和衡量? 确保包含各种 SQL 复杂性,如不同类型的查询(例如,选择、插入、更新和删除)。

  • 您计划测试哪些通用类型的工作负载? 示例可能包括提取转换加载 (ETL) 工作负载、报告查询和批处理提取。

在回答这些问题后,您应该能够制定构建概念验证的 SMART 目标和成功标准。有关设置目标的信息,请参阅 Wikipedia 中的 SMART 标准

设置概念验证

由于我们从本地数据仓库中消除了硬件调配、联网和软件安装,因此使用您自己的数据集尝试 Amazon Redshift 从未如此简单。过去需要的许多大小决定和估算现在只需点击一下即可。您可以灵活地调整集群大小或调整存储与计算的比率。

总的来说,设置 Amazon Redshift 概念验证环境的过程包含两个步骤。它涉及启动数据仓库,然后转换 schema 和数据集以进行评估。

选择起始集群大小

您可以使用 Amazon Redshift 控制台选择节点类型和节点数。我们建议您同时测试集群大小的调整,作为概念验证计划的一部分。要获取集群的初始大小,请执行以下步骤:

  1. 登录到 Amazon Web Services Management Console并打开 Amazon Redshift 控制台,网址:https://console.aws.amazon.com/redshift/

  2. 在导航窗格中,选择 Create cluster(创建集群)以打开配置页面。

  3. 对于 Cluster identifier(集群标识符),输入您的集群名称。

  4. 选择以下方法之一以调整集群的大小:

    注意

    以下步骤介绍了 Amazon Redshift 控制台,它在Amazon支持 RA3 节点类型的区域中运行。有关支持 RA3 节点类型的Amazon区域的列表,请参阅 Amazon Redshift 集群管理指南中的 RA3 节点类型概览

    • 如果您的Amazon区域支持 RA3 节点类型,请选择 Production(生产)或 Free trial(免费试用)回答问题您打算将此集群用于什么?

      如果您的组织符合条件,您或许能够在 Amazon Redshift 免费试用计划下创建集群。为此,请选择 Free trial(免费试用)创建具有 dc2.large 节点类型的配置。有关选择免费试用的更多信息,请参阅 Amazon Redshift 免费试用

    • 如果您不知道要将集群调整到多大,请选择 Help me choose(帮我选择)。执行此操作将启动大小调整计算器,该计算器将询问您有关计划存储在数据仓库中的数据的大小和查询特性的问题。

      如果您知道集群所需的大小(即节点类型和节点数),请选择 I'll choose(我会选择)。然后选择节点类型节点数量来调整集群的大小以进行概念验证。

  5. 输入所有必需的集群属性后,选择 Create cluster(创建集群)以启动数据仓库。

    有关使用 Amazon Redshift 控制台创建集群的更多详细信息,请参阅 Amazon Redshift 集群管理指南中的创建集群

转换 schema 并设置概念验证的数据集

如果您没有现有的数据仓库,请跳过此部分并参阅 Amazon Redshift 入门Amazon Redshift 入门提供了创建集群的教程以及在 Amazon Redshift 中设置数据的示例。

从现有数据仓库迁移时,您可以使用 Amazon Schema Conversion Tool 和 Amazon Database Migration Service 转换 schema、代码和数据。您的工具选择取决于数据的来源和可选的持续复制。有关更多信息,请参阅 Amazon Schema Conversion Tool 用户指南中的什么是 Amazon Schema Conversion Tool?Amazon Database Migration Service 用户指南中的什么是 Amazon Database Migration Service?。以下内容可帮助您在 Amazon Redshift 中设置数据:

Amazon Redshift 是一个关系数据库管理系统 (RDBMS)。因此,它可以运行多种类型的数据模型,包括星型 schema、雪花 schema、数据文件库模型以及简单的、扁平的或规范化的表。在 Amazon Redshift 中设置您的 schema 后,您可以利用大规模并行处理和列式数据存储来快速进行开箱即用的分析查询。有关 schema 类型的信息,请参阅 Wikipedia 中的星型 schema雪花 schema数据文件库建模

完整评估的核对清单

确保完整的评估能够满足您的所有数据仓库需求。考虑在成功标准中包括以下项目:

  • 数据加载时间 – 使用 COPY 命令是测试加载数据所需的时间的常用方法。有关更多信息,请参阅Amazon Redshift 加载数据的最佳实践

  • 集群的吞吐量 – 每小时度量查询是确定吞吐量的常用方法。为此,请设置对工作负载运行典型查询的测试。

  • 数据安全 – 您可以利用 Amazon Redshift 轻松加密静态数据和传输中的数据。您还有很多管理密钥的选项。Amazon Redshift 还支持单点登录 (SSO) 集成。Amazon Redshift 定价包括内置的安全性、数据压缩、备份存储和数据传输。

  • 第三方工具集成 – 您可以使用 JDBC 或 ODBC 连接与业务情报和其他外部工具集成。

  • 与其他 Amazon 服务的互操作性服务 – Amazon Redshift 集成了其他 Amazon 服务,例如 Amazon EMR、Amazon QuickSight、Amazon Glue、Amazon S3 和 Amazon Kinesis。您可以在设置和管理数据仓库时使用此集成。

  • 备份和快照 – 自动创建备份和快照。您也可以随时或按计划创建时间点快照。在评估过程中尝试使用快照和创建另一个集群。评估您的开发和测试组织是否能使用集群。

  • 调整大小 – 您的评估应包含增加 Amazon Redshift 节点的数量和类型。评估调整大小之前和之后的工作负载吞吐量是否满足工作负载卷的任何变化。有关更多信息,请参阅 Amazon Redshift 集群管理指南中的调整 Amazon Redshift 中的集群的大小

  • 并发扩展 – 此功能可帮助您处理数据仓库中流量的变化。使用并发扩展,您可以支持几乎无限的并发用户和并发查询,同时提供始终如一的快速查询性能。有关更多信息,请参阅使用并发扩展

  • 自动工作负载管理 (WLM) – 通过使用自动 WLM,确定业务关键型查询的优先级高于其他查询。尝试根据您的工作负载设置队列(例如,ETL 的队列和用于报告的队列)。然后启用自动 WLM 以动态分配并发资源和内存资源。有关更多信息,请参阅实施自动 WLM

  • Amazon Redshift Advisor – Advisor 通过分析集群的工作负载和使用指标来制定自定义建议,以提高性能和优化成本。登录 Amazon Redshift 控制台以查看 Advisor 建议。有关更多信息,请参阅采用 Amazon Redshift Advisor 的建议

  • 表设计 – Amazon Redshift 为大多数工作负载提供开箱即用的卓越性能。当您创建表时,默认的排序键和分配键为 AUTO。有关更多信息,请参阅使用自动表优化

  • 支持 – 我们强烈建议在评估过程中评估 Amazon Web Services Support。此外,请务必与您的客户经理谈谈您的概念验证。如果您有资格,Amazon 可以帮助您提供技术指导和概念验证积分。如果您未找到正在寻求的帮助未,可以直接与 Amazon Redshift 团队联系。如需帮助,请在请求支持您的 Amazon Redshift 概念验证中提交表格。

  • 智能湖仓集成 – 通过内置集成,尝试使用开箱即用的 Amazon Redshift Spectrum 功能。借助 Redshift Spectrum,您可以将数据仓库扩展到数据湖,并使用现有集群对 Amazon S3 中的 PB 级数据运行查询。有关更多信息,请参阅使用 Amazon Redshift Spectrum 查询外部数据

为您的评估制定项目计划

以下创建查询基准的一些技术可能有助于支持您的 Amazon Redshift 评估:

  • 为每个运行时类别组装一个查询列表。拥有足够的数量(例如,每个类别 30 个)有助于确保您的评估反映现实世界的数据仓库实现。添加唯一标识符以将您包含在评估中的每个查询与您为评估建立的类别之一关联。您随后可以使用这些唯一标识符确定系统表的吞吐量。

    您还可以创建查询组以整理评估查询。例如,如果您为评估建立了“报告”类别,您可以创建一个编码系统以使用“报告”一词标记评估查询。然后,您可以在报告中将单个查询标识为 R1、R2、以此类推。以下示例演示了此方法。

    SELECT 'Reporting' AS query_category, 'R1' as query_id, * FROM customers;
    SELECT query, datediff(seconds, starttime, endtime) FROM stl_query WHERE querytxt LIKE '%Reporting%' and starttime >= '2018-04-15 00:00' and endtime < '2018-04-15 23:59';

    当您将查询与评估类别关联后,您随后可使用唯一标识符为每个类别确定系统表的吞吐量。

  • 利用在现有数据仓库中具有各种运行时间的历史用户或 ETL 查询来测试吞吐量。您可以使用负载测试实用程序,例如开源 JMeter 或自定义实用程序。如果是这样,请确保您的实用程序执行以下操作:

    • 它可以考虑网络传输时间。

    • 它根据内部系统表的吞吐量来估计执行时间。有关如何执行此操作的信息,请参阅 分析查询摘要

  • 确定您计划在评估过程中测试的各种排列。以下列表提供了一些常见变量:

    • 集群大小

    • 节点类型

    • 加载测试持续时间

    • 并发设置

  • 通过在非工作时间和周末暂停集群,降低概念验证的成本。当集群暂停时,按需计算计费将暂停。要在集群上运行测试,请恢复按秒计费。您也可以创建一个计划来自动暂停和恢复集群。有关更多信息,请参阅 Amazon Redshift 集群管理指南中的暂停和恢复集群

在此阶段,您已准备好执行项目计划并评估结果。

可帮助您评估的其他资源

为了帮助您进行 Amazon Redshift 评估,请参阅以下内容:

需要帮助?

请务必与您的客户经理谈谈您的概念验证。如果您有资格,Amazon 可以帮助您提供技术指导和概念验证积分。如果您未找到正在寻求的帮助,可以直接与 Amazon Redshift 团队联系。如需帮助,请在请求支持您的 Amazon Redshift 概念验证中提交表格。