Amazon Redshift 常见问题

一般性问题

每天有数以万计的客户使用 Amazon Redshift 在云端中运行 SQL 分析,处理 EB 级的数据,以获取业务洞察。无论您持续增长的数据存储在运营数据存储、数据湖、流数据服务还是第三方数据集之中,Amazon Redshift 都可以帮助您以最少的移动或复制量,安全地访问、组合和共享数据。Amazon Redshift 与 AWS 数据库、分析和机器学习服务深度集成,能够使用零 ETL 方法,或是帮助您随时访问数据以进行近乎实时的分析,在 SQL 中构建机器学习模型,并使用 Redshift 中的数据启用 Apache Spark 分析。Amazon Redshift 无服务器能让您的工程师、开发人员、数据科学家和分析师轻松入门,并在零管理环境中快速扩展分析。拥有大规模并行处理(MPP)引擎、分离计算和存储实现高效扩展的架构,以及机器学习驱动的性能创新(例如:自动实体化视图),Amazon Redshift 为规模而生,可提供达其他云数据仓库 5 倍的性价比。

上千客户选择 Amazon Redshift 来更快地获得业务洞察,因为其作为强大的分析系统,与数据库和机器学习服务完美集成,精简易用,能够成为满足所有分析需求的中心服务。Amazon Redshift 无服务器自动预置和扩展数据仓库容量,为要求严苛且不可预测的工作负载提供高性能。无论是控制面板、应用开发、数据共享、ETL(提取、转换、加载)工作还是其他工作,Amazon Redshift 为各种分析工作负载提供行业领先的性价比。通过数万名客户对从 TB 级到 PB 级的数据运行的分析,Amazon Redshift 根据实例集的性能遥测,优化真实世界的客户工作负载性能,并提供从线性扩展到工作负载的性能,同时维持低廉成本。客户无需付出额外成本,即可实现性能上的创新。Amazon Redshift 使您能够跨越运营数据库、数据湖、数据仓库、流数据和第三方数据集对所有数据运行实时和预测性分析,并获得洞察。Amazon Redshift 利用内置的身份管理和单点登录(SSO)联合身份验证、多重身份验证、列级访问控制、行级别安全性、基于角色的访问控制、Amazon Virtual Private Cloud(Amazon VPC)和更快的集群大小调整,实现了行业领先的安全性。

Amazon Redshift 由 AWS 完全托管,因此您无需担心数据仓库管理任务,如硬件调配、软件修补、设置、配置、监控节点和驱动器以从故障中恢复,或备份。AWS 代表您管理设置、操作和扩展数据仓库所需的工作,使您能够专注于构建您的应用程序。Amazon Redshift 无服务器会自动预置和扩展数据仓库容量,为严苛且不可预测的工作负载提供高性能,您仅需为实际使用的资源付费。Amazon Redshift 还有自动优化功能,并可在 Redshift Advisor 中显示关于管理仓库的建议。借助 Redshift Spectrum,Amazon Redshift 可以管理所有计算基础设施、负载均衡、计划、调度和对 Amazon S3 中存储的数据查询的执行情况。Amazon Redshift 通过与数据库服务的深度整合,从而能够对所有数据进行分析,其功能包括 Amazon Aurora 零 ETL,Amazon Redshift 和联合查询,以从 Amazon RDS 和您的 Amazon S3 数据湖等运营数据库访问数据。Redshift 能够通过无代码的自动数据管道,实现对流数据或 Amazon S3 文件的自动摄取。Redshift 还与 AWS Data Exchange 集成,使用户能够查找、订阅和查询第三方数据集,并结合自己的数据,获得全面的洞察。通过与 Amazon SageMaker 的原生集成,客户可以直接在他们的数据仓库中,用 SQL 创建、训练和构建机器学习模型。Amazon Redshift 可满足您所有的 SQL 分析需求,其性价比优于其他云数据仓库 5 倍之多。

Amazon Redshift 是完全托管式服务,提供预置和无服务器选项,助您更高效地运行和扩展分析,而无需管理您的数据仓库。仅需几秒,您就可以启动一个新的 Amazon Redshift 无服务器端点,以自动预置数据仓库,或者为可预测的工作负载选择配置选项。

只需在 AWS 管理控制台中进行几个步骤,即可开始查询数据。您可以利用预加载的示例数据集(包括基准数据集 TPC-H、TPC-DS)和其他示例查询,以立即开始分析。要开始使用 Amazon Redshift 无服务器,选择“试用 Amazon Redshift 无服务器”并开始查询数据。单击此处开始使用

TPC-DS 基准测试结果表明,即使是相对较小的 3TB 数据集,Amazon Redshift 也能提供最佳性价比,即时可用。Amazon Redshift 提供达其他云数据仓库 5 倍的性价比。这意味着,无需手动优化,您便可享受 Amazon Redshift 领先的性价比。根据我们的性能实例集遥测,我们还了解到,多数工作负载都是短查询工作负载(运行时间少于 1 秒的工作负载)。对于这类工作负载,最新的基准测试表明,Amazon Redshift 在高并发、低延迟的工作负载上可提供达其他云数据仓库 7 倍的性价比。单击此处了解更多信息

答:是的,Amazon Redshift 专家可以回答问题并提供支持。联系我们,您将在一个工作日内收到我们的回复,讨论 AWS 如何能为您的企业提供帮助。

Amazon Redshift 托管存储随无服务器和 RA3 节点类型提供,使您能够独立扩展和支付计算和存储费用,因此您可以仅根据计算需求来调整集群大小。它自动将基于高性能 SSD 的本地存储用作第 1 层缓存,并利用数据块温度、数据块使用年限和工作负载模式等优化来提供高性能,同时在需要时自动将存储扩展到 Amazon S3,而无需执行任何操作。

如果您已经在使用 Amazon Redshift 密集存储或密集计算节点,则可以使用 Elastic Resize(弹性大小调整)将现有集群升级到新的计算实例 RA3。Amazon Redshift 无服务器和使用 RA3 实例的集群自动使用 Redshift 托管的存储来存储数据。除了使用 Amazon Redshift 无服务器或 RA3 实例外,不需要其他操作来使用此功能。

Amazon Redshift Spectrum 是 Amazon Redshift 的一项功能,借助这项功能,您可以对 Amazon S3 中的数据湖运行查询,而无需进行数据加载或 ETL 操作。当您发布 SQL 查询时,查询会进入 Amazon Redshift 端点,该端点会生成查询方案并对其进行优化。Amazon Redshift 会确定哪些数据存储在本地以及哪些数据存储在 Amazon S3 中,然后生成一种方案来尽可能减少需要读取的 S3 数据量,从共享资源池中请求 Amazon Redshift Spectrum 工作线程来读取和处理 Amazon S3 中的数据。

在以下情况下,考虑选择 RA3 节点类型:

  • 您需要灵活扩展并为独立于存储的计算付费。
  • 您查询的是总数据的一部分。
  • 您的数据量正在快速增长或预计将快速增长。
  • 您希望仅根据您的性能需求灵活地调整集群的大小。

随着数据规模的持续增长(达到 PB 级),您在 Amazon Redshift 数据仓库中摄取的数据量也在增长。您可能正在寻找经济高效的方法来分析所有数据。

使用带有托管存储的新 Amazon Redshift RA3 实例,您可以基于您的性能需求选择节点数量,并且只需为您实际使用的托管存储付费。这样,您就可以基于您每天处理的数据量灵活调整 RA3 集群的大小,而不会增加您的存储成本。基于 AWS Nitro System,具有托管存储的 RA3 实例对热数据使用高性能 SSD,对冷数据使用 Amazon S3,提供易用性、经济高效的存储和快速查询性能。

Amazon Redshift 空间提供基于位置的分析,以全面洞察您的数据。它无缝整合空间和业务数据,为制定决策提供分析。Amazon Redshift 于 2019 年 11 月推出了原生空间数据处理支持,包括多态数据类型 GEOMETRY,以及多个关键的 SQL 空间函数。我们现在支持 GEOGRAPHY 数据类型,并且我们的 SQL 空间函数库已经增加到 80 个。我们支持所有常见的空间数据类型和标准,包括 Shapefiles、GeoJSON、WKT、WKB、eWKT 和 eWKB。要了解更多,请访问文档页面或 Amazon Redshift spatial 教程页面。

Amazon Athena 和 Amazon Redshift 无服务器用于解决不同的需求和使用案例,即使这两项服务都是无服务器且支持 SQL 用户的。

凭借其能分离存储和计算的大规模并行处理(MPP)架构,以及机器学习主导的自动优化能力,Amazon Redshift 这样的数据仓库,无论是无服务器还是预置的,对于在任何规模的复杂 BI 和分析工作负载中追求最佳性价比的客户来说,都是一个不错的选择。客户可以将 Amazon Redshift 作为其数据架构的核心组成部分,通过零 ETL 和无代码方法,提供深度集成,以访问本地数据,或将数据轻松摄取或移动到仓库,以进行高性能分析。客户可以通过与 AWS Data Exchange 的集成访问存储在 Amazon S3、Aurora 和 Amazon RDS 等运营数据库、第三方数据仓库中的数据,并结合存储在 Amazon Redshift 数据仓库中的数据进行分析。客户可以轻松启动数据仓库,在所有这些数据的基础上进行机器学习。

Amazon Athena 非常适合通过可扩展的连接器框架(包括 30 多个用于应用程序、本地或其他云分析系统的开箱即用的连接器)对数据湖或任何数据来源中的数据进行交互式分析和数据探索,而无需为摄取或处理数据烦恼。Amazon Athena 建立在开源引擎和框架之上,如 Spark、Presto 和 Apache Iceberg,使客户可以灵活使用 Python 或 SQL,或处理开放数据格式。如果客户想使用开源框架和数据格式进行互动分析,Amazon Athena 是一个很好的起点。

不,Redshift 预留实例不灵活,它们仅适用于您预留的确切节点类型。

无服务器

Amazon Redshift 无服务器是 Amazon Redshift 的无服务器选项,能更高效地运行并在数秒内扩展分析,而无需设置和管理数据仓库基础设施。借助 Redshift 无服务器,任何用户(包括数据分析师、开发人员、业务专业人员和数据科学家)均能通过简单加载和查询数据仓库中的数据来获得数据洞察。

只需在 AWS 管理控制台中进行几个步骤,您就可以选择“配置 Amazon Redshift 无服务器”并开始查询数据。您可以利用预加载的示例数据集(例如,天气数据、普查数据和基准数据集)和示例查询,以立即开始分析。您可以创建数据库、架构、表,并从 Amazon S3、Amazon Redshift 数据共享中加载数据,或者还原现有的 Redshift 预置集群快照。您还可以直接查询 Amazon S3 数据湖中采用开放格式(如 Parquet 或 ORC)的数据,或查询运营数据库(如 Amazon Aurora、Amazon RDS PostgreSQL 和 MySQL)中的数据。详见入门指南。

即使没有数据仓库管理经验,也不必担心设置、配置、管理集群或优化仓库。您可以专注于从数据中获得有意义的洞察,或者通过数据交付核心业务成果。您仅需按实际用量付费,保持成本可控。您将继续受益于 Amazon Redshift 的所有最优性能、丰富的 SQL 功能、与数据湖和运营数据仓库的无缝集成,以及内置的预测分析和数据共享功能。如需对数据仓库进行精细控制,您可以预置 Redshift 集群。

您可以继续使用 Amazon Redshift 丰富的各种分析功能,如复杂的联接、对 Amazon S3 数据湖和运营数据库中的数据的直接查询、实体化视图、存储的过程、半结构化数据支持和 ML,以及规模化的高性能。Amazon Redshift 集成的所有相关服务(例如,Amazon Kinesis、AWS Lambda、Amazon QuickSight、Amazon SageMaker、Amazon EMR、AWS Lake Formation 和 AWS Glue)将继续与 Amazon Redshift 无服务器协同工作。

您可以继续运行所有分析使用案例。如今 Amazon Redshift 无服务器的工作流入门简单,并且具备弹性伸缩和按使用量付费的功能,使需要快速入门的开发和测试环境、临时业务分析、计算需求不断变化和不可预测的工作负载以及间歇性或零星的工作负载的运行更高效、更经济。

数据摄取和加载

您可以从一系列数据来源将数据加载到 Amazon Redshift,包括 Amazon S3Amazon RDSAmazon DynamoDBAmazon EMRAWS GlueAWS Data Pipeline 和/或 Amazon EC2 或本地上任何启用 SSH 的主机。Amazon Redshift 会尝试将数据并行加载到每个计算节点中,从而最大限度地提高数据仓库集群的数据摄入速度。用户可以使用 ODBC 或 JDBC 连接至 Amazon Redshift,并用“insert”SQL 命令来插入数据。请注意,这样做的速度会比使用 S3 或 DynamoDB 慢,因为这些方法会将数据并行加载至每个计算节点,而 SQL 插入语句则只通过单个领导节点加载数据。有关 Amazon Redshift 数据加载的更多详细信息,请查看我们的入门指南

Redshift 自动复制提供了通过跟踪 Amazon S3 文件夹和摄取新文件来自动复制语句的能力,且无需客户干预。如果没有自动复制,复制语句会立即启动现有文件的摄取过程。自动复制扩展了现有的复制命令,并提供了以下功能:1/ 通过监控新文件指定的 Amazon S3 路径,实现文件摄取过程的自动化;2/ 重复利用复制配置,为重复的摄取任务减少创建和运行新复制语句的需求;3/ 跟踪加载的文件,避免数据重复。

首先,客户需要一个 Amazon S3 文件夹,使得其 Redshift 集群/无服务器端点可以使用关联的 IAM 角色访问该文件夹,并创建一个 Redshift 表格作为目标。在 Amazon S3 路径和 Redshift 表格准备就绪后,客户就可以使用复制命令创建一个复制任务。一旦创建了复制任务,Redshift 就开始跟踪后台指定的 Amazon S3 路径,并启动用户定义的复制语句,自动将新文件复制到目标表格中。

关键用例包括:1/ 客户使用 Amazon EMR 和 AWS Glue 运行 Apache Spark 任务,这些任务作为数据摄取和转换管道(批处理和流)的一部分,访问并将数据加载到 Amazon Redshift 中 2/ 客户通过 Amazon SageMaker,使用 Apache Spark 进行机器学习,并且必须访问存储在 Amazon Redshift 中的数据,以进行特征工程和转换。3/ Amazon Athena 客户使用 Apache Spark 对 Amazon Redshift 中的数据进行互动分析。

Baikal 提供以下好处:

  • 易于在 Amazon Redshift 的数据上启动和运行 Apache Spark 应用程序,而不必担心设置和维护未经认证的 Spark 版本所涉及的手动步骤
  • 通过各种 AWS 服务(如 Amazon EMR、AWS Glue、Amazon Athena 和 Amazon SageMaker)可便捷使用 Apache Spark 和 Amazon Redshift,且只需最低程度的配置
  • 已提高在 Amazon Redshift 中运行 Apache Spark 应用程序时的性能

Amazon Aurora 零 ETL 与 Amazon Redshift 集成的功能助力 Amazon Aurora 和 Amazon Redshift 客户对 PB 级的事务数据近乎实时地运行分析和机器学习,通过提供完全托管的解决方案,使 Amazon Aurora 的事务数据在写入后几秒钟内就可以在 Amazon Redshift 中使用。通过 Amazon Aurora 零 ETL 与 Amazon Redshift 集成的功能,客户只需选择包含想用 Amazon Redshift 分析的数据的 Amazon Aurora 表格,就能将架构和数据无缝复制到 Amazon Redshift 中。这减少了客户构建和管理复杂数据管道的需求,使客户可以专注于改进自己的应用程序。通过 Amazon Aurora 零 ETL 与 Amazon Redshift 集成的功能,客户可以将多个 Amazon Aurora 数据库集群的数据复制到同一个 Amazon Redshift 实例中,以获得跨多个应用的全面洞察,同时还可以整合其核心分析资产,显著节省成本和提高运营效率。通过 Amazon Aurora 零 ETL 与 Amazon Redshift 集成的功能,客户还可以访问 Amazon Redshift 的核心分析和机器学习功能,如实体化视图、数据共享以及对多个数据存储和数据湖的联合访问。这使客户能够结合近实时分析与核心分析,有效获得高时效的洞察,为业务决策提供信息。此外,客户使用 Amazon Aurora 处理事务,使用 Amazon Redshift 进行分析,因此不存在共享的计算资源,从而获得性能和操作稳定的解决方案。

Amazon Aurora 与 Amazon Redshift 的零 ETL 集成能实现这两种服务的无缝集成,以用于交易分析。

流式数据与传统数据库表的不同之处在于,查询流的时候,捕获的是时变关系的演变。另一方面,表格捕获了这种时变关系的时间点快照。Amazon Redshift 的客户习惯于在常规表上进行操作,并使用传统的批处理模式(如“ELT”)进行数据的下游处理(即转换)。为此,我们提出一种使用 Redshift 实体化视图(简称 MVs)的方法,使客户可以轻松实体化流的短时视图,数据覆盖至查询时为止的累积值,以尽可能快速地支持 ELT 工作流。

数据共享

主要使用案例包括:

  • 一个中央 ETL 集群与许多 BI/分析集群共享数据,以提供读取工作负载隔离和可计费。
  • 一个数据提供商与外部使用者共享数据。
  • 在不同的业务组之间共享公共数据集,如客户、产品,并合作以实现广泛的分析和数据科学。
  • 分散数据仓库以简化管理。
  • 在开发、测试和生产环境之间共享数据。
  • 从其他 AWS 分析服务访问 Redshift 数据。

借助跨数据库查询功能,无论您连接到哪个数据库,您都可以无缝查询和整合来自您访问的任何 Redshift 数据库的数据。这可包括集群的本地数据库以及可从远程集群获得的共享数据库。通过跨数据库查询,您可以灵活地将数据组织为独立数据库以支持多租户配置。

AWS Data Exchange 使 AWS 客户更高效地安全交换和使用 AWS 中的第三方数据。数据分析师、产品经理、投资组合经理、数据科学家、定量分析专家、临床试验技术人员和几乎每个行业的开发人员都希望访问更多数据,以推动分析、训练机器学习(ML)模型,并做出数据驱动型决策。但是,没有一个地方可以找到来自多个提供商的数据,而且提供商交付数据的方式也不一致,因此他们只能混合处理传输的物理媒体、FTP 凭证和定制 API 调用。相反,许多企业希望将他们的数据用于研究或商业目的,但是构建和维护数据交付、授权和计费技术难度大、费用高,这进一步抑制了有价值的数据的供应。

可扩展性和并发

Amazon Redshift 无服务器会自动预置数据仓库容量,并智能扩展底层资源。Amazon Redshift 无服务器可以在数秒内调整容量,即使是对要求最高且易变的工作负载,也能提供稳定的高性能和简化的操作。利用并发扩展功能,您可以支持无限的并发用户和并发查询,并始终保持高查询速度。启用并发扩展功能后,当您的集群遇到查询队列增加时,Amazon Redshift 会自动增加集群容量。

对于手动扩展,如果您想提高查询性能或对 CPU、内存或 I/O 的过度使用做出响应,您可以通过 AWS 管理控制台ModifyCluster API 使用 Elastic Resize 来增加数据仓库集群内的节点数。在您修改自己的数据仓库集群时,所请求的更改会立即应用。您可以通过 AWS 管理控制台或 Amazon CloudWatch API 免费获得计算使用率、存储使用率和 Redshift 数据仓库集群读/写流量方面的指标。您也可以通过 Amazon CloudWatch 的自定义指标功能来添加用户定义的指标。

借助 Amazon Redshift Spectrum,您可以运行多个 Redshift 集群来访问 Amazon S3 中的相同数据。您可以针对不同的使用案例使用不同的集群。例如,您可以将某个群集用于标准报告,将另一个群集用于数据科学查询。您的营销团队可以使用与运营团队不同的自己的群集。Redshift Spectrum 会自动将查询任务分配到共享资源池外的多个 Redshift Spectrum 工件,以便读取和处理来自 Amazon S3 的数据,然后将结果返回到 Redshift 集群中进行任何后续处理。

因情况而异。在使用并发扩展功能时,集群完全可以在并发扩展期间进行读取和写入。在使用 Elastic Resize 时,集群在调整大小期间会有 4 至 8 分钟的不可用时间。而在托管存储中使用 Redshift RA3 实现存储弹性之后,集群就处于完全可用状态,而且数据自动在托管存储和计算节点之间移动。

Elastic Resize 几分钟内即可在单个 Redshift 集群中添加或删除节点,以管理其查询吞吐量。例如,一天内某几个小时的 ETL 工作负载或月末报告可能需要额外的 Amazon Redshift 资源才能按时完成。并发扩展会添加额外的集群资源来提高整体查询并发量。

不可以,并发扩展是一个可大规模扩展的 Amazon Redshift 资源池,而客户不具有直接访问权。

安全性

Amazon Redshift 利用内置的身份管理和单点登录(SSO)联合身份验证、多重身份验证、列级访问控制、行级别安全性、基于角色的访问控制和 Amazon Virtual Private Cloud(Amazon VPC),实现了行业领先的安全性。使用 Amazon Redshift,对您的数据进行传输中加密和静态加密。所有 Amazon Redshift 安全功能都可开箱即用,无需额外付费,以满足最苛刻的安全性、隐私和合规性要求。AWS 支持的安全标准和合规性认证比任何其他提供商都更多,包括 ISO 27001、SOC、HIPAA/HITECH 和 FedRAMP,您可从中受益。

是的,Amazon Redshift 支持基于角色的访问控制。行级别访问控制使您能为用户分配一个或多个角色,并按角色分配系统和对象权限。您可以使用开箱即用的系统角色(根用户、dba、操作员和安全管理员),或者创建自己的角色。

通过 AWS Lambda 用户定义函数(UDF),您可将 AWS Lambda 函数用作 Amazon Redshift 中的 UDF,并从 Redshift SQL 查询调用它。此功能支持为 SQL 查询编写自定义扩展,以实现与其他服务或第三方产品的更紧密集成。您可以在查询时间中编写 Lambda UDF,以启用外部令牌化、数据掩蔽、通过与 Protegrity 之类的供应商集成对数据进行身份识别或去除身份识别信息,并根据用户的权限或组保护或取消保护敏感数据。

由于支持动态数据掩蔽,客户可以轻松保护敏感数据,并通过管理数据掩蔽策略控制精细访问。假设您的应用程序具有多个用户和对象,且这些对象具有不能向所有用户公开的敏感数据。您需要为不同的用户组提供不同的精细安全级别。Redshift 动态数据掩蔽是可配置的,允许客户定义一致的、保持格式的和不可逆的掩蔽数据值。正式发布时,您可以立即开始使用该功能。安全管理员只需几个命令就可以创建并应用政策。

符合。希望使用其企业标识服务(例如 Microsoft Azure Active Directory、Active Directory 联合身份验证服务、Okta、Ping Federate 或其他符合 SAML 规范的标识服务)的客户可以将 Amazon Redshift 配置为提供单点登录。您可以使用 Microsoft Azure Active Directory(AD)身份登录 Amazon Redshift 集群。这让您能够登录 Redshift,而无需在 Redshift 中复制 Azure Active Directory 身份信息。

符合。对您的 Amazon Redshift 集群进行验证时,您可以使用多重身份验证(MFA)来提高安全性。

可用性与持久性

Amazon Redshift 将自动检测并替换您数据仓库集群中发生故障的节点。在密集计算(DC)和密集存储(DS2)集群中,数据存储在计算节点上,以保证数据的高持久性。当一个节点被替换时,数据会从另一个节点上的镜像副本中刷新。RA3 集群和 Redshift 无服务器不会受到同样的影响,因为数据存储在 Amazon S3 中,本地驱动器只是作为数据缓存使用。在预置替换节点并将其添加至数据库之前,数据仓库集群无法进行查询和更新。Amazon Redshift 将使替换节点立即可用,并首先从 Amazon S3 中加载您最频繁访问的数据,让您尽快恢复数据查询。单个节点集群不支持数据复制。如果某个驱动器发生故障,您必须从 S3 上的快照恢复集群。我们建议您至少为生产使用 2 个节点。

如果您的 Amazon Redshift 数据仓库是单独的可用区部署,且集群的可用区变为不可用状态,Amazon Redshift 会自动将您的集群移动到另一个 AWS 可用区(AZ),而不会导致任何数据丢失或应用程序变更。要激活此功能,您必须在集群配置设置中启用重新定位功能。

与单可用区部署不同,客户现在可以通过在多可用区部署中运行他们的数据仓库来提高 Redshift 的可用性。多可用区部署支持在多个 AWS 可用区(AZ)中同时运行您的数据仓库,并在不可预见的故障场景中继续运行。由于多可用区部署是作为具有单一端点的单一数据仓库进行管理的,因此不需要更改应用程序便可保持业务连续性。多可用区部署通过保证自动恢复能力来减少恢复时间,适用于对关键业务分析应用程序有最高级别可用性和可用区故障弹性需要的客户。这也允许客户实现更符合 AWS Well-Architected Framework 的可靠性支柱建议的解决方案。要了解更多关于 Amazon Redshift 多可用区的信息,请参考这里。

RPO 是恢复点目标(Recovery Point Objective)的缩写,是描述故障情况下数据新鲜度保证的术语。RPO 指的是自上次数据恢复点以来可接受的最大时间长度。这决定了在最后一个恢复点和服务中断之间,哪些数据丢失被认为是可接受的。Redshift 多可用区支持 RPO = 0,这意味着在发生故障时,可以保证数据是最新的。我们的预发布测试发现,在出现可用区故障(这种情况不太可能发生)的情况下,Amazon Redshift 多可用区部署的 RTO 不到 60 秒或更短。

所有新的 RA3 集群和无服务器端点都默认启用了 Redshift Relocation,这使得数据仓库在发生大规模故障时可以在另一个可用区中重新启动,而不会有任何数据损失或额外成本。虽然使用重新定位是免费的,但也有其局限性,因为这只是一种尽力而为的无奈之举,受制于被恢复的可用区的资源可用性,而且恢复时间目标(RTO)可能会受到与启动新集群有关的其他问题的影响。这可能导致恢复时间在 10 到 60 分钟之间。Redshift 多可用区通过提供以几十秒为计的 RTO 来支持高可用性要求,并提供有保障的持续运行,因为它不会受到容量限制,也不会出现其他创建新集群所可能遇到的潜在问题。

查询与分析

是,Amazon Redshift 使用行业标准 SQL 并可使用标准 JDBC 和 ODBC 驱动程序进行访问。您可以从 Redshift 控制台的“连接客户端”选项卡中下载 Amazon Redshift 自定义 JDBC 和 ODBC 驱动程序。我们与主流 BI 和 ETL 供应商进行的集成已得到验证,其中许多集成都提供免费试用,用于帮助您开始加载和分析数据。您也可以前往 AWS Marketplace,在几分钟内部署和配置能够与 Amazon Redshift 配合使用的解决方案。

Amazon Redshift Spectrum 支持所有 Amazon Redshift 客户端工具。客户端工具可继续使用 ODBC 或 JDBC 连接来连接到 Amazon Redshift 群集端点,而无需进行任何更改。

访问 Redshift Spectrum 中的表与访问 Redshift 群集的本地存储中的表所使用的查询语法和查询功能完全相同。您可以使用注册外部表所用的 CREATE EXTERNAL SCHEMA 命令中定义的架构名称来引用外部表。

Amazon Redshift Spectrum 目前支持许多开源数据格式,其中包括 Avro、CSV、Grok、Amazon Ion、JSON、ORC、Parquet、RCFile、RegexSerDe、Sequence、Text 和 TSV。<br>Amazon Redshift Spectrum 目前支持 Gzip 和 Snappy 压缩。

就像使用本地表一样,您可以使用架构名称在查询中输入 schema_name.table_name 来准确选择所需内容。

符合。CREATE EXTERNAL SCHEMA 命令支持 Hive 元数据仓。目前我们不支持针对 Hive 元数据仓运行 DDL。

您可以通过查询系统表 SVV_EXTERNAL_TABLES 来获取这一信息。

是,Amazon Redshift ML 功能使 SQL 用户能够使用熟悉的 SQL 命令更轻松地创建、训练和部署机器学习(ML)模型。Amazon Redshift ML 允许您将 Amazon Redshift 中的数据用于 Amazon SageMaker,一种完全托管式机器学习(ML)服务。Amazon Redshift 支持无监督学习(K-Means)和有监督学习(Autopilot、XGBoost、MLP 算法)。您还可以利用预构建的 Lambda UDF 函数,通过 AWS 语言 AI 服务翻译、编辑和分析 SQL 查询中的文本字段 - 参见博客文章

Amazon Redshift 提供了一种 Data API,您可以通过它从 Amazon Redshift 使用所有类型的传统、云原生和容器化无服务器 Web 服务型应用程序,以及事件驱动的应用程序,轻松访问数据。由于使用 Data API 后将无需再配置驱动程序和管理数据库连接,因而简化了对 Amazon Redshift 的访问。您只需调用 Data API 提供的安全 API 端点,即可对 Amazon Redshift 集群运行 SQL 命令。Data API 负责管理数据库连接和缓冲数据。Data API 是异步的,因此您可以随后检索结果。您的查询结果可存储 24 小时。

Data API 支持 IAM 凭证,也支持使用来自 AWS Secrets Manager 的私有密钥。Data API 联合 AWS Identity and Access Management(IAM)凭证,使您能够使用 Okta 或 Azure Active Directory 之类的身份提供商或者 Secrets Manager 中存储的数据库凭据,而不必在 API 调用中传递数据库凭据。

是,您可以从 AWS CLI 通过 aws redshift-data 命令行选项使用该 Data API。

您可以从其他服务使用 Data API,例如 AWS Lambda、AWS Cloud9、AWS AppSync 和 Amazon EventBridge。

不,使用 Data API 不会单独收费。

零 ETL 集成

Amazon Aurora MySQL 兼容版、Amazon Aurora PostgreSQL 兼容版(预览版)、Amazon RDS for MySQL 和 Amazon DynamoDB(有限预览版)支持与 Amazon Redshift 的零 ETL 集成。

当您需要近乎实时地访问事务数据时,应该使用 Aurora 与 Amazon Redshift 的零 ETL 集成。使用零 ETL 集成,您可通过简单的 SQL 命令来利用 Amazon Redshift ML。

在支持的 AWS 区域中,Aurora 与 Amazon Redshift 的零 ETL 集成适用于 Aurora MySQL 3.05 版本(兼容 MySQL 8.0.32)及更高版本的 Aurora MySQL 兼容版。

Aurora 与 Amazon Redshift 的零 ETL 集成在美国东部(俄亥俄州)区域的 Aurora PostgreSQL 兼容版本 Aurora PostgreSQL 15.4 上提供。

Aurora 与 Amazon Redshift 的零 ETL 集成使您无需构建和维护复杂的数据管道。您可以将单个或多个 Aurora 数据库集群中的数据整合到单个 Amazon Redshift 数据库集群,并使用 Amazon Redshift 对来自 Aurora 的 PB 级事务数据进行近乎实时的分析和 ML。

Aurora 与 Amazon Redshift 的零 ETL 集成与 Amazon Redshift Serverless 和 Amazon Aurora Serverless v2 兼容。同时使用 Aurora Serverless v2 和 Amazon Redshift Serverless 时,您可以对事务数据生成近乎实时的分析,而无需管理数据管道的任何基础设施。

首先,您可以使用 Amazon RDS 控制台,通过指定 Aurora 源和 Amazon Redshift 目标来创建零 ETL 集成。创建集成后,Aurora 数据库将被复制到 Amazon Redshift,并且您可以在初始数据插入完成后开始查询数据。有关更多信息,请阅读 Amazon Aurora 与 Amazon Redshift 零 ETL 集成的入门指南。

Aurora 到 Amazon Redshift 零 ETL 集成以原子方式复制事务,以确保源 Aurora 数据库和目标 Amazon Redshift 集群之间的数据一致性。
以下是有关此集成的事务原子性的一些要点:

  • 只会将 Aurora 中的已提交事务复制到 Amazon Redshift。 不应用未提交或已回滚的事务。
  • 该集成使用两阶段提交流程以原子方式将每个事务应用到 Amazon Redshift。应用事务中的所有数据更改,或者,如果发生错误则不应用任何数据更改。
  • 源和目标之间保持事务一致性。复制后,给定事务的数据在 Aurora 和 Amazon Redshift 中将保持一致。
  • 通过 DDL 或 DML 进行的架构更改也会自动应用以维护完整性。
  • 事务的原子应用可确保数据库之间不会发生部分事务或不一致的数据状态。
 

Aurora 与 Amazon Redshift 的零 ETL 集成可保持源 Aurora 数据库和目标 Amazon Redshift 集群之间的完全事务一致性。

以下是关于如何处理架构更改的一些关键点:

  • 诸如 CREATE TABLE、ALTER TABLE、DROP TABLE 等 DDL 语句会自动从 Aurora 复制到 Amazon Redshift。
  • 该集成会在 Amazon Redshift 表中针对复制的架构更改进行必要的检查和调整。例如,在 Aurora 中添加一列将在 Amazon Redshift 中添加该列。
  • 复制和架构更改自动实时发生,源数据库和目标数据库之间的延迟最小。
  • 即使 DML 更改与 DDL 更改并行发生,也能保持架构一致性。

您可以在本地 Amazon Redshift 数据库中创建实体化视图,以转换通过零 ETL 集成复制的数据。连接到本地数据库并使用跨数据库查询访问目标数据库。您可以使用采用三部分表示法(destination-database-name.schema-name.table-name)的完全限定对象名称,也可以创建引用目标数据库和架构对并使用两部分表示法(external-schema-name.table-name)的外部架构。

零 ETL 集成和数据变更的持续处理无需另行付费。您需要为现有的 Amazon RDS 和 Amazon Redshift 资源付费,这些资源用于创建和处理在零 ETL 集成过程中生成的变更数据。这些资源可能包括以下内容:

  • 启用增强型 binlog 所用的额外的 I/O 和存储空间
  • 用于为 Amazon Redshift 数据库种子进行初始数据导出的快照导出费用
  • 额外的 Amazon Redshift 存储空间,用于存储复制的数据
  • 将数据从来源移动到目标的跨可用区数据传输费用

有关更多信息,请访问 Amazon Aurora 定价

要查看有关 Amazon RDS for MySQL 与 Amazon Redshift 的零 ETL 集成的最常见问题,请参阅 Amazon RDS for MySQL常见问题。要了解有关此集成定价的更多信息,请参阅 Amazon RDS for MySQL 定价

备份和还原

Amazon Redshift RA3 集群和 Amazon Redshift 无服务器使用 Redshift 托管式存储,其中始终有可用数据的最新副本。DS2 和 DC2 集群备份了集群上的数据,以确保在发生故障时可以使用最新的副本。所有 Redshift 集群类型的备份都是自动创建的,并保留 24 小时,而在无服务器上则提供过去 24 小时的恢复点

您还可以创建自己的备份,这些备份可以无限期保留。这些备份可以在任何时候创建,Amazon Redshift 自动备份或 Amazon Redshift 无服务器恢复点可以转换为用户备份,以保留更长时间。

Amazon Redshift 还能将您的快照或恢复点异步复制到另一个区域的 Amazon S3 中以备灾难恢复之用。

在 DS2 或 DC2 集群上,免费备份存储受限于数据仓库集群中节点上的总存储大小,并仅适用于已激活的数据仓库集群。

例如,如果您有 8TB 的数据仓库总存储大小,那么我们将提供最多 8TB 的备份存储而不另外收费。如果您想将备份保留期延长超过一天,那么您可以使用 AWS 管理控制台Amazon Redshift API 来实现这一目的。有关自动快照的更多信息,请参阅 Amazon Redshift 管理指南

Amazon Redshift 仅备份已更改的数据,因此大多数快照仅使用少量的免费备份存储。如果您需要还原备份,则可以在备份保留期内访问所有自动备份。您一旦选择了某个要恢复的备份,我们将配置一个新的数据仓库集群并将数据还原至此集群中。

您可以使用 AWS 管理控制台ModifyCluster API,通过修改 RetentionPeriod 参数来管理自动备份的保留时间。如果您希望关闭自动备份,则可以通过将保留期设置为 0 来执行这一操作(但我们不建议您这样做)。

删除数据仓库集群时,您可以指定是否在删除时创建一个最终快照。这样您就可以在之后还原已删除的数据仓库集群。除非您选择删除手动快照,否则数据仓库集群之前创建的所有手动快照均将被保留,并按照标准 Amazon S3 费率计费。

监控和维护

您可以通过 AWS 管理控制台Amazon CloudWatch API 免费获得计算使用率、存储使用率和 Amazon Redshift 数据仓库集群读/写流量方面的指标。您也可通过 Amazon CloudWatch 的自定义指标功能来添加更多用户定义的指标。AWS 管理控制台中的监控控制面板可以帮助您监控所有集群的运行状况和性能。Amazon Redshift 还通过 AWS 管理控制台提供关于查询及集群性能的信息。通过查看这些信息中的查询计划和执行统计信息,您可以了解哪些用户和查询在消耗最多的系统资源来诊断性能问题。此外,您还可以了解每个计算节点上的资源使用情况,确保数据和查询在所有节点之间达到平衡。

Amazon Redshift 可以定期执行维护,以便将修复程序、增强功能和新功能应用到您的集群。您可以通过编程方式或使用 Redshift 控制台对集群进行修改,从而更改计划的维护时段。在维护时段内,您无法对 Amazon Redshift 集群执行正常操作。要了解有关各区域的维护时段和计划的更多信息,请参阅 Amazon Redshift 管理指南中的维护时段