一般性问题

要了解 Amazon Redshift 的新增功能,请访问最新资讯页面。
要查看更多详细信息和使用指南,请访问文档

问:什么是 Amazon Redshift?

Amazon Redshift 是一种快速且完全托管的云数据仓库,让您可以使用标准 SQL 和现有的商业智能 (BI) 工具经济高效地轻松分析您的所有数据。利用 Amazon Redshift,您可以使用高性能存储中的列式存储通过复杂的查询优化对 TB 级到 PB 级结构化数据运行复杂的分析查询,并能大规模执行并行查询。大多数结果在数秒内即可返回。使用 Redshift 时,您可以从小规模开始,费用只有每小时 0.25 USD,并且无需签订协议;然后将数据量扩展到数 PB,费用为每年每 TB 1000 USD,不到传统本地解决方案的十分之一。Amazon Redshift 还包含 Amazon Redshift Spectrum,让您可以在 Amazon S3 数据湖中针对 EB 级非结构化数据直接运行 SQL 查询。不需要加载或转换,并且您可以使用 Avro、CSV、Grok、Amazon Ion、JSON、ORC、Parquet、RCFile、RegexSerDe、Sequence、Text 和 TSV 等开源数据格式。Redshift Spectrum 可以根据检索的数据自动扩展查询计算容量,因此针对 Amazon S3 的查询运行得非常快,不受数据集大小的影响。

Amazon Redshift 可为您提供利用基于 SQL 的常用客户端及商业智能 (BI) 工具通过标准的 ODBC 和 JDBC 连接对结构化数据进行快速查询的功能。查询为多个物理资源之间的分布式并行查询。您只需在 AWS 管理控制台中单击几次或调用 API,即可轻松对 Redshift 数据仓库进行扩展或缩减。Amazon Redshift 可自动修补和备份数据仓库,并按照用户定义的保留期存储备份。Amazon Redshift 利用复制和连续备份来提高可用性并改善数据持久性,能够从组件或节点故障中自动恢复。此外,Amazon Redshift 通过 AWS IAM 集成、身份联合、列级访问控制、Amazon Virtual Private Cloud (Amazon VPC)、SSL、AES-256 加密和内置 AWS KMS 集成来支持行业领先的安全性,以保护动态和静态数据。包含所有 Amazon Redshift 安全功能,无需额外费用。

Amazon Redshift 与 AWS CloudTrail 相集成,使您能够对所有的 Redshift API 调用进行审计。Redshift 还会记录所有 SQL 操作,包括连接尝试、查询和数据仓库变动。您可以使用 SQL 查询在系统表格中访问这些日志,也可以将日志保存到 Amazon S3 上的安全位置。Amazon Redshift 符合 SOC1、SOC2、SOC3 和 PCI DSS 1 级要求。

与所有 Amazon Web Services 相同,您无需预先投资,而且只需为使用的资源付费。Amazon Redshift 根据您的使用量进行收费。您甚至可以免费试用 Amazon Redshift

要了解哪些区域可以使用 Amazon Redshift,请参阅 AWS 区域表

问:为什么我需要使用 Amazon Redshift 而不是本地数据仓库?

本地数据仓库需要大量时间和资源来进行管理,尤其是大型数据集。另外,与建立、维护和扩展自我管理的本地数据仓库相关的财务成本也非常之高。随着数据量的增加,您必须不断权衡应将哪些数据加载到数据仓库中以及将哪些数据归档到存储中才能管理成本、保持较低的 ETL 复杂度并提供出色性能。Amazon Redshift 不仅可以显著降低数据仓库的成本和运营开销,还可以利用 Redshift Spectrum 轻松地分析采用原生格式的大量数据,而不需要您来加载数据。

问:用于 Amazon Redshift 的 AQUA(高级查询加速器)是什么?

AQUA 是一种新的分布式硬件加速缓存,使 Redshift 的运行速度比任何其他云数据仓库快了高达 10 倍。具有集中式存储的现有数据仓库架构要求将数据移动到计算集群中进行处理。随着数据仓库在未来几年的持续增长,移动所有这些数据所需的网络带宽将成为查询性能的瓶颈。

AQUA 为云数据仓库带来了一种新的方法。通过在创新的缓存上就地进行大量数据处理,AQUA 将计算带到存储中。此外,它使用 AWS 设计的处理器和扩展架构来加快数据处理,超越了传统 CPU 如今所能做的一切。了解更多并注册申请预览版。

问:什么是 Redshift Spectrum?

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

Redshift Spectrum 可根据需要扩展到数千个实例,因此,无论数据大小如何,查询都会快速运行。除此之外,您可以像针对 Amazon Redshift 查询所做的一样,针对 Amazon S3 数据使用完全相同的 SQL,并可使用相同的 BI 工具连接到同一 Amazon Redshift 终端节点。Redshift Spectrum 可以实现单独的存储和计算,从而让您能够逐一单独扩展。您可以根据需要设置多个 Amazon Redshift 群集来查询 Amazon S3 数据湖,从而提供高可用性和无限制的并发度。借助 Redshift Spectrum,您可以灵活地将数据以您想要的格式存储在您想要的位置,并在需要时即时用于处理。 要了解哪些区域可以使用 Redshift Spectrum,请访问 Amazon Redshift 定价页面

问:什么是 Amazon Redshift 托管存储?

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

问:如何使用 Amazon Redshift 的托管存储?

如果您已经在使用 Amazon Redshift DS 或 DC 节点,则可以将现有集群升级到新的计算实例 RA3,以便使用托管存储。您还可以基于 RA3 实例创建新集群,并且托管存储将自动包括在内。无需执行其他操作即可使用此功能。

问:Amazon Redshift 如何简化数据仓库管理?

Amazon Redshift 可管理设置、操作和扩展数据仓库所需的工作。例如,预置基础设施容量、自动执行持续管理任务(如备份和修补)以及监控节点和驱动器,以便从故障中恢复。借助 Redshift Spectrum,Amazon Redshift 可以管理所有计算基础设施、负载均衡、计划、调度和对 Amazon S3 中存储的数据的查询执行情况。

问:与大多数用于数据仓库和分析的本地数据库相比,Amazon Redshift 的性能如何?

Amazon Redshift 使用各种创新技术,与传统的数据仓库和分析用数据库相比,其性能提高将近十倍,其中包括:

  • 列式数据存储:Amazon Redshift 以列组织数据,并非以一系列的行来存储数据。与适用于事务处理的基于行的系统不同,基于列的系统适用于数据仓库存储及分析,在此系统中,查询经常涉及到对大型数据集进行聚合。由于仅对涉及查询的列进行处理,且列式数据按顺序存储在存储介质上,故基于列的系统所需的 I/O 要少得多,从而显著提高了查询性能。
  • 高级压缩:与基于行的数据存储相比,列式数据存储可进行更大程度的压缩,因为类似的数据是按顺序存储在硬盘上。Amazon Redshift 使用了多种压缩技术,与传统的关系数据存储相比,通常可以进行较大程度的压缩。将数据加载到空表中时,Amazon Redshift 会自动对您的数据进行采样并选择最合适的压缩方案。
  • 大规模并行处理 (MPP):Amazon Redshift 可以自动将数据与查询负载分配到所有节点。借助 Amazon Redshift,您可以轻松将节点添加至数据仓库,而且随着您的数据仓库规模的扩大,仍能维持快速的查询性能。
  • Redshift Spectrum:借助 Redshift Spectrum,您可以对 Amazon S3 中的 EB 级数据运行查询,且无需进行加载或 ETL 操作。即使没有在 Amazon Redshift 中存储任何数据,您仍然可以使用 Redshift Spectrum 查询 Amazon S3 中的 EB 级数据集。当您发布查询时,查询会进入 Amazon Redshift SQL 终端节点,该终端节点会生成查询方案。Amazon Redshift 会确定哪些数据存储在本地以及哪些数据存储在 Amazon S3 中,然后生成一种方案来尽可能减少需要读取的 Amazon S3 数据量,从共享资源池中请求 Redshift Spectrum 工作线程来读取和处理 Amazon S3 中的数据,然后将结果返回 Amazon Redshift 集群进行任何剩余处理。
  • 具体化视图:具体化视图可以为重复的和可预测的分析工作负载(如控制面板生成、来自商业智能 (BI) 工具的查询以及 ELT(提取、加载、转换)数据处理)提供更快的查询性能。借助具体化视图,您可以存储预先计算的查询结果,并通过以增量方式处理对源表所做的最新更改,对结果进行有效维护。引入具体化视图的后续查询将使用预先计算的结果来加速运行。可以使用筛选、投影、内部联接、聚合、分组、函数和其他 SQL 结构基于一个或多个源表来创建具体化视图。
  • 可扩展性:本地数据仓库的计算和存储容量受限于本地硬件。Redshift 使您能够根据需要扩展计算和存储,以满足不断变化的工作负载。

问:如何开始使用 Amazon Redshift?

您在注册后几分钟内即可从 Amazon Redshift 详细信息页面或通过 AWS 管理控制台开始使用 Amazon Redshift。如果您没有 AWS 账户,那么系统将提示您创建一个 AWS 账户。请访问入门页面,了解如何免费试用 Amazon Redshift。

问:如何创建并访问 Amazon Redshift 数据仓库集群?

您可以使用 AWS 管理控制台Amazon Redshift API 轻松创建 Amazon Redshift 数据仓库集群。您可以从单节点 160GB 数据仓库开始,然后在 AWS 控制台中单击几下或调用一次 API,一路扩展到 1PB 或更大。

单节点配置(它最适合用于评估或开发/测试工作负载)使您能够开始经济快速地使用 Amazon Redshift,而且随着您的需求的增长,单节点配置可扩展为多节点配置。一个 Redshift 数据仓库集群中可以包含 1 到 128 个计算节点,具体取决于节点类型。有关详细信息,请参阅我们的文档。

多节点配置需要一个领导节点来管理客户端的连接并接收查询,以及两个计算节点来存储数据并执行查询和计算。系统将自动为您配置领导节点(它与计算节点的大小相同),并且您无需为其付费。

仅需指定您的首选可用区(可选项)、节点数量、节点类型、主机名称和密码、安全组、您对备份保留期的首选项及其他系统设置。在您选定理想配置后,Amazon Redshift 将预置所需资源并建立数据仓库群集。

数据仓库集群可供使用后,您就可以在 AWS 管理控制台或使用 Redshift API 检索它的终端节点以及 JDBC 和 ODBC 连接字符串。然后您可借助自己最喜欢的数据库工具、编程语言或商业智能 (BI) 工具使用此连接字符串。您需要把网络请求授权给正在运行的数据仓库集群。有关详细说明,请参阅我们的入门指南

问:每个计算节点的最大存储容量多少? 为达到最佳性能,每个计算节点的推荐数据量是多少?

您可以使用 RA3、DC 或 DS 节点类型来创建集群。RA3 节点类型支持扩展和单独支付计算与存储费用。您可以根据性能要求选择所需的实例数量,并只为您使用的托管存储支付费用。

RA3 节点类型有两种大小,即 RA3.16XL 和 RA3.4XL。每个 RA3.16XL 节点都具有 48 个 vCPU、384 GiB 内存,并且支持 8 GB/s IO。RA3.16XL 和 RA3.4XL 集群均至少运行两个节点,最小大小的双节点 RA3.16XL 或 RA3.4XL 集群提供 128 TB 的托管存储。RA3.16XL 和 RA3.4XL 每个节点的托管存储配额均为 64 TB。RA3.16XL 集群最多可扩展至 128 个节点,支持在托管存储中构建高达 8PB 的集群。RA3.4XL 节点都具有 12 个 vCPU、96 GiB 内存,并且支持 2 GB/s IO。RA3.4XL 集群最多可扩展至 64 个节点,支持在托管存储中构建高达 4PB 的集群。注意:此处提到的所有托管存储大小均适用于压缩数据。Redshift 可将数据压缩到原大小的 1/3 到 1/4,因此未压缩的数据大小是此处提到的 3-4 倍。

DC 节点类型也有两种大小。大型节点具有 160GB 的 SSD 存储、2 个 Intel Xeon E5-2670v2 (Ivy Bridge) 虚拟核心和 15GiB 的 RAM。八倍超大型节点是大型节点的 16 倍,具有 2.56TB 的 SSD 存储、32 个 Intel Xeon E5-2670v2 虚拟核心和 244GiB 的 RAM。您可从每小时 0.25 USD 的单个 DC2.Large 节点开始,然后一路扩展至 128 个 8XL 节点,从而获得 326TB 的 SSD 存储、3200 个虚拟核心和 24TiB 的 RAM。

DS 节点类型有两种大小:超大型节点和八倍超大型节点。超大型节点 (XL) 有 3 个硬盘,总共 2TB 的磁盘存储,而八倍超大型节点 (8XL) 有 24 个硬盘,总共 16TB 的磁盘存储。DS2.8XLarge 有 36 个 Intel Xeon E5-2676 v3 (Haswell) 虚拟核心和 244GiB 的 RAM,DS2.XL 有 4 个 Intel Xeon E5-2676 v3 (Haswell) 虚拟核心和 31GiB 的 RAM。

有关其他详细信息,请参阅定价页面。

问:什么时候应该使用 Amazon Redshift?什么时候应该使用Amazon RDS?

Amazon Redshift 和 Amazon RDS 都可让您在云中运行传统的关系数据库,并且摆脱数据库管理工作。Amazon RDS 数据库主要用于联机事务处理 (OLTP) 工作负载,而 Redshift 主要用于报告和分析。OLTP 工作负载需要快速查询特定信息,并支持诸如插入、更新和删除之类的事务,并且最好由 Amazon RDS 进行处理。Amazon Redshift 可以利用多节点的规模和资源并进行各种优化,适用于针对非常大的数据集的分析和报告工作负载,比传统数据库有巨大的改进。当数据和查询的复杂性增加时,如果您要避免报告和分析处理对 OLTP 工作负载造成干扰,Amazon Redshift 就可以提供出色的扩展选项。现在,借助新的联合查询功能,您可以利用 Amazon Redshift 轻松地在 Amazon RDS 或 Aurora 数据库服务中查询数据。

问:什么时候应该使用 Amazon Redshift 或 Redshift Spectrum?什么时候应该使用Amazon EMR?

如果使用自定义代码通过大数据处理框架(如 Apache Spark、Hadoop、Presto 或 Hbase)来处理和分析超大数据集,则应该使用 Amazon EMR。借助 Amazon EMR,您可以完全控制群集的配置和群集上安装的软件。

Amazon Redshift 之类的数据仓库是专为完全不同类型的分析而设计的。数据仓库旨在将来自多个不同来源(如库存、财务和零售销售系统)的数据汇集在一起。为了确保整个公司的报告具有一致的准确性,数据仓库采用一种高度结构化的方式来存储数据。这种结构可将数据一致性规则直接构建到数据库的表中。当您需要对大量结构化和半结构化数据执行复杂查询并获得高速性能时,Amazon Redshift 就是最理想的服务选择。

尽管 Redshift Spectrum 功能非常适用于对 Amazon Redshift 和 S3 中的数据运行查询,但它不适合企业通常需要使用 Amazon EMR 之类的处理框架进行处理的使用场景。Amazon EMR 的功能远不止运行 SQL 查询。Amazon EMR 是一种托管服务,可让您使用最新版本的常用大数据处理框架(如 Spark、Hadoop 和 Presto)在完全自定义的集群上处理和分析极大的数据集。借助 Amazon EMR,您可以为机器学习、图形分析、数据转换、流式处理数据以及您可以编写代码的几乎任何应用程序运行各种横向扩展的数据处理任务。

您可以将 Redshift Spectrum 与 EMR 配合使用。Redshift Spectrum 存储表定义的方式与 Amazon EMR 相同。Redshift Spectrum 可以支持 Amazon EMR 使用的相同 Apache Hive 元数据仓来查询数据和表定义。如果您使用的是 Amazon EMR 并拥有 Hive 元数据仓,则只需配置 Amazon Redshift 群集即可使用 Redshift Spectrum。然后,您可以马上开始查询这些数据并执行 Amazon EMR 作业。因此,如果您已经在使用 EMR 处理大型数据存储,则可以同时使用 Redshift Spectrum 来查询这些数据,并且不会影响 Amazon EMR 作业。

查询服务、数据仓库和复杂的数据处理框架都有自己的位置,分别用于不同的作业。您只需要为作业挑选适当的工具即可。

问:什么时候应该使用 Amazon Athena,什么时候应该使用Redshift Spectrum?

Amazon Athena 是让任何员工都能对 Amazon S3 中的数据运行临时查询的最简单的方式。Athena 是无服务器服务,因此您无需设置或管理基础设施,即可立即开始分析数据。

如果您拥有需要以一致且高度结构化的格式进行存储的频繁访问数据,那么您应该使用 Amazon Redshift 之类的数据仓库。这样一来,您就可以在 Amazon Redshift 中灵活存储结构化的频繁访问数据,并使用 Redshift Spectrum 将 Amazon Redshift 查询扩展到 Amazon S3 数据湖中的数据。此外,您还可以灵活地将数据以您想要的格式存储在您想要的位置,并在需要时立即进行处理。

问:为什么我应该使用 Amazon Redshift,而不是在 Amazon EC2 上运行我自己的 MPP 数据仓库集群?

Amazon Redshift 可自动处理大量与您自己的数据仓库管理相关的耗时任务,包括:
  • 设置:使用 Amazon Redshift 时,您仅需创建一个数据仓库群集,定义构架,然后开始加载并查询数据。您无需管理配置、预置或修补。
  • 数据持久性:Amazon Redshift 在您的数据仓库群集之内复制数据并将数据连续备份至 Amazon S3,旨在让持久性达到 99.999999999%。Amazon Redshift 将每个驱动器的数据镜像至群集内的其他节点。如果某个驱动器发生故障,查询将继续进行,只是延迟稍有增加,同时 Redshift 利用副本重建该驱动器。如果出现节点故障,那么 Amazon Redshift 将自动预置新节点,并开始从群集内的其他驱动器或 Amazon S3 中恢复数据。Amazon Redshift 优先恢复最频繁查询的数据,这样最频繁执行的查询将可迅速恢复功能。
  • 扩展:当容量和性能需求发生变化时,只需调用一次 API 或在 AWS 管理控制台中单击几次,即可在 Amazon Redshift 数据仓库集群中添加或删除节点。您还可以使用 Redshift 中的计划程序功能来计划扩展并调整运营规模。
  • 自动更新与修补:Amazon Redshift 可以自动应用升级并修补数据仓库,这样您就能专注于应用程序而非其管理工作。
  • EB 级查询能力:借助 Redshift Spectrum,您可以对 Amazon S3 中的 EB 级数据运行查询,且无需进行加载或 ETL 操作。即使没有在 Amazon Redshift 中存储任何数据,您仍然可以使用 Redshift Spectrum 查询 Amazon S3 中的 EB 级数据集。

计费

问:使用 Amazon Redshift 要如何收费和计费?

仅按实际使用量收费,无最低费用或设置费用。Amazon Redshift 支持暂停和恢复集群的功能,使您可以在不使用集群时轻松地暂停按需计费。例如,用于开发的集群可以在不使用时暂停计算计费。在集群暂停期间,将仅针对您的集群存储收取费用。对于状态稳定的生产工作负载,通过切换到预留实例,可享受比按需定价更大的折扣。

一旦数据仓库群集可供使用就开始计费。计费一直持续到该数据仓库群集终止为止;删除或实例出现故障时会发生终止。您的计费依据为:

  • 计算节点小时数:计算节点小时数是在计费期内运行的所有计算节点的小时总数。节点使用小时数按照数据仓库群集以可供使用的状态运行的每个小时计费。如果您希望不再为数据仓库群集付费,那么您必须将其终止,以免产生更多应计费节点小时数。不足一小时按一小时计费。按照每小时每节点一个单位计费,因此一个持续运行一整个月的三节点数据仓库群集将产生 2160 个实例小时。您无需为领导节点小时数付费;仅计算节点产生费用。
  • 托管存储:您需要按固定的 GB 月费率为存储在您所在区域的托管存储中的数据付费。托管存储专用于 RA3 节点类型,无论数据大小如何,您都要按相同的低费率为 Redshift 托管存储付费。托管存储的使用量根据托管存储中的总数据每小时计算一次。您可以通过 Amazon CloudWatch 或 AWS 管理控制台监控 RA3 集群中的数据量。您无需支付 RA3 节点与托管存储之间的任何数据传输费用。托管存储费用不包括由于自动和手动快照而产生的备份存储费用。集群终止后,您需要继续为保留手动备份而付费。
  • 备份存储:备份存储是与数据仓库自动化及手工快照相关的存储。延长备份保留期或增加快照拍摄数量,将增加数据仓库所消耗的备份存储。对于已激活的数据仓库群集而言,无需额外付费,即可获得最多 100% 预置数据仓库存储的备份存储。例如,如果您有一个已激活的具有 2TB 本地实例存储的单节点 XL 数据仓库群集,那么我们将提供高达每月 2TB 的备份存储而无需额外付费。超出预置存储大小的备份存储以及在您的群集终止之后存储的备份按标准 Amazon S3 费率计费。
  • 数据传输:同一 AWS 区域内,对于进出 Amazon Redshift 和 Amazon S3 的数据传输,不收取传输费用。对于进出 Amazon Redshift 的所有其他数据传输,您将按标准 AWS 数据传输费率支付费用。
  • 扫描的数据:使用 Redshift Spectrum 时,您需要为系统执行查询时所扫描的 Amazon S3 数据量付费。不运行查询时,Redshift Spectrum 不收取任何费用。如果您用 Parquet 或 RC 等列格式存储数据,那么您的费用还会降低,因为 Redshift Spectrum 只会扫描查询所需的列,而不处理整行数据。同样,如果您使用 Redshift Spectrum 支持的格式之一来压缩数据,您的费用也会降低。对于使用的数据存储,您需要按照标准 Amazon S3 费率付费;对于使用的群集,您需要按照 Amazon Redshift 实例的费率付费。

除非另行说明,否则我们的价格不包含适用的税费和关税(包括增值税和适用的销售税)。使用日本账单地址的客户若要使用 AWS,则需缴纳日本消费税。了解更多。

有关 Amazon Redshift 的定价信息,请访问 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 数据加载的详细信息,请查看我们的入门指南

问:如何将数据从现有的 Amazon RDS、Amazon EMR、Amazon DynamoDB 及 Amazon EC2 数据源加载到 Amazon Redshift?

您可以使用 COPY 命令以并行方式将数据从 Amazon EMR、Amazon DynamoDB 或任何启用 SSH 的主机直接加载到 Amazon Redshift 中。此外,您还可以通过 Redshift Spectrum 使用简单的 INSERT INTO 命令将数据从 Amazon S3 加载到群集中。这样一来,您可以将各种格式的数据(如 Parquet 和 RC)加载到群集中。请注意,如果使用此方法,则 Redshift Spectrum 会针对从 Amazon S3 中扫描到的数据量累计计费。 

此外,许多 ETL 公司还对 Amazon Redshift 进行了认证,以便将其与自己的工具配合使用,其中有很多公司还提供了免费试用,以帮助您开始加载数据。AWS Data Pipeline 提供一个从各种 AWS 数据源加载数据(例如从 Amazon RDS 到 Redshift)的高性能、可靠且容错的解决方案。您可用 AWS Data Pipeline 来指定数据源和理想的数据转换,然后执行一个预先写入的导入脚本,将您的数据加载到 Amazon Redshift 中。此外,AWS Glue 是一项完全托管的提取、转换和加载 (ETL) 服务,可让您轻松准备和加载数据以便分析。您只需在 AWS 管理控制台中单击几次,即可创建并运行 AWS Glue ETL 任务。

问:我有很多数据需要在初期加载到 Amazon Redshift 中。通过 Internet 传输将耗费很长时间。我如何加载这些数据?

您可用便携式存储设备通过 AWS Import/Export 将数据传输至 Amazon S3。此外,您还可用 AWS Direct Connect 在您的网络或数据中心与 AWS 之间建立一个专用网络连接。您可选用 1Gbit/秒或 10Gbit/秒的连接端口来传输数据。

安全性

问:Amazon Redshift 如何确保数据的安全性?

Amazon Redshift 通过内置 AWS IAM 集成、用于单点登录的身份联合 (SSO)、多重验证、列级访问控制和 Amazon Virtual Private Cloud (Amazon VPC) 来支持行业领先的安全性,并提供内置 AWS KMS 集成来保护动态和静态数据。Amazon Redshift 使用行业标准加密技术进行加密并确保动态数据及静态数据的安全性。为了确保动态数据的安全性,Amazon Redshift 支持客户端应用程序与 Redshift 数据仓库群集之间启用 SSL 的连接。为了确保静态数据的安全性,Amazon Redshift 使用硬件加速型 AES-256 在将每个数据块写入硬盘之时对其进行加密。此过程以低等级形式发生在 I/O 子系统中,对写入硬盘的一切数据进行加密,包括中间查询结果。数据块按原样进行备份,这意味着备份也进行了加密。默认情况下,Amazon Redshift 会负责密钥管理,但您也可以选择通过 AWS Key Management Service 来管理您的密钥。提供所有 Amazon Redshift 安全功能,无需额外费用。Redshift Spectrum 通过账户中由 AWS Key Management Service (KMS) 管理的默认密钥来支持 Amazon S3 的服务器端加密 (SSE)。

问:Redshift 是否支持诸如列级安全性之类的精细访问控制?

是。精细的列级安全控制功能可以确保用户只能看到他们需要访问的数据。Amazon Redshift 支持对本地表进行列级访问控制,以便您能够通过向用户或用户组授予/撤销列级特权来控制对表或视图的各个列的访问。Redshift 与 AWS Lake Formation 集成,可以确保 Lake Formation 的列级访问控制也应用于针对数据湖中的数据执行的 Redshift 查询。

问:Redshift 是否支持单点登录?

是。希望使用其企业身份提供程序(例如 Microsoft Azure Active Directory、Active Directory 联合身份验证服务、Okta、Ping Federate 或其他符合 SAML 规范的身份提供程序)的客户可以将 Amazon Redshift 配置为提供单点登录。

问:Redshift 如何支持使用 Microsoft Azure Active Directory 进行单点登录?

您可以使用 Microsoft Azure Active Directory (AD) 身份登录 Amazon Redshift 集群。这让您能够登录 Redshift,而无需在 Redshift 中复制 Azure Active Directory 身份信息。

问:Amazon Redshift 是否支持多重验证 (MFA)?

是。对 Amazon Redshift 集群进行验证时,可以使用多重验证 (MFA) 来提高安全性。

问:我能在 Amazon Virtual Private Cloud (Amazon VPC) 中使用 Amazon Redshift 吗?

能,您可将 Amazon Redshift 用作 VPC 配置的一部分。借助 Amazon VPC,您可以定义一个与自己数据中心内运行的传统网络非常相似的虚拟网络拓扑。这样一来,您可以完全控制谁能访问您的 Amazon Redshift 数据仓库群集。您可以将 Redshift Spectrum 与 VPC 中的 Amazon Redshift 集群配合使用。

问:我能直接访问 Amazon Redshift 计算节点吗?

不能。您的 Amazon Redshift 计算节点处于私有网络空间中,仅能从数据仓库群集的领导节点对其进行访问。这就为您的数据安全性提供了另外一层保护。

可用性与持久性

问:如果一个节点上的驱动器发生故障,那么对数据仓库群集的可用性和数据持久性有何影响?

Amazon Redshift 将自动检测并替换数据仓库群集中发生故障的节点。在预置替换节点并将其添加至数据库之前,数据仓库群集无法进行查询和更新。Amazon Redshift 将使替换节点立即可用,并首先从 S3 中加载您最频繁访问的数据,让您尽快恢复数据查询。单个节点集群不支持数据复制。如果某个驱动器发生故障,您需要从 S3 上的快照恢复集群。我们建议您至少将 2 个节点用于生产。

问:如果个别节点发生故障,那么对数据仓库集群可用性和数据持久性有何影响?

Amazon Redshift 将自动检测并替换数据仓库群集中发生故障的节点。在预置替换节点并将其添加至数据库之前,数据仓库群集无法进行查询和更新。Amazon Redshift 将使替换节点立即可用,并首先从 S3 中加载您最频繁访问的数据,让您尽快恢复数据查询。单个节点集群不支持数据复制。如果某个驱动器发生故障,您需要从 S3 上的快照恢复集群。我们建议您至少将 2 个节点用于生产。

问:如果数据仓库集群的可用区 (AZ) 发生故障,那么对数据仓库集群可用性和数据持久性有何影响?

如果 Amazon Redshift 数据仓库群集的可用区无法使用,那么在 AZ 的电源及网络访问恢复之前,您将无法使用您的群集。数据仓库群集的数据将被保留下来,一旦 AZ 重新可供使用,那么您就能够开始使用 Amazon Redshift 数据仓库。此外,您也可选择将任何现有快照恢复到同一区域中的新 AZ 中。Amazon Redshift 将首先恢复您最频繁访问的数据,这样您就能尽快地恢复查询。

问:Amazon Redshift 支持多可用区部署吗?

当前 Amazon Redshift 仅支持单一可用区部署。通过将数据从同一组 Amazon S3 输入文件加载到各个 AZ 中的两个 Amazon Redshift 数据仓库群集中,您便可在多个 AZ 中运行数据仓库群集。借助 Redshift Spectrum,您可以跨可用区运行多个群集,并访问 Amazon S3 中的数据,而无需将其加载到群集中。此外,您也可将数据仓库集群从数据仓库集群快照恢复至其他可用区。

备份与恢复

问:Amazon Redshift 如何备份数据? 如何从备份中还原我的集群?

在加载数据时,Amazon Redshift 会复制数据仓库集群内的所有数据并将其连续备份至 Amazon S3。Amazon Redshift 始终尝试维持至少三份数据(计算节点上的正本数据、副本数据和 Amazon S3 上的备份数据)。Redshift 还能将您的快照异步复制到另一个区域的 S3 中进行灾难恢复。

默认情况下,Amazon Redshift 以一天的保留期启用数据仓库群集的自动化备份。您可将其配置为 35 天之久。

免费备份存储受限于数据仓库群集中节点上的总存储大小,并仅适用于已激活的数据仓库群集。例如,如果您有 8TB 的数据仓库总存储大小,那么我们将提供最多 8TB 的备份存储而不另外收费。如果您想将备份保留期延长为超过一天,那么您可以使用 AWS 管理控制台Amazon Redshift API 来实现这一目的。有关自动快照的更多信息,请参阅 Amazon Redshift 管理指南。Amazon Redshift 仅备份已更改的数据,因此大多数快照仅占用少量的免费备份存储。

如果您需要还原备份,则可以在备份保留期内访问所有自动备份。在您选择某个要还原的备份后,我们将预置一个新的数据仓库集群并将数据还原至此集群中。

问:如何管理自动备份及快照保留期?

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

问:如果我删除了数据仓库集群,那么对备份有何影响?

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

可扩展性

问:如何扩展 Amazon Redshift 数据仓库集群的大小和性能?

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

利用并发扩展功能,您可以支持几乎无限的并发用户和并发查询,并始终保持高查询速度。启用并发扩展功能后,当您需要一定容量来处理增加的并发读取查询时,Amazon Redshift 会自动增加集群容量。

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

问:数据仓库集群在扩展过程中能不能使用?

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

并发

问:如何管理资源才能确保我的 Redshift 集群在高并发期间始终保持快速性能?

典型数据仓库的并发查询使用在一天当中有着巨大差异。仅在需要时段添加资源,而不是满足峰值需求,这样成本效益更高。Amazon Redshift 会为您自动处理这项工作。

并发扩展是 Amazon Redshift 中的一项功能,即使有数千个并发查询,也能提供始终如一的快速查询性能。利用这一功能,Amazon Redshift 可以在需要处理大量需求时自动添加瞬态容量。Amazon Redshift 会自动将查询路由到扩展集群,这些群集几秒钟内便可完成配置并立即开始处理查询。

这项功能对大部分客户来说不会产生费用。每个 Amazon Redshift 集群每天最多可获得 1 小时的并发扩展免费积分。这样,即使分析需求有波动,您也可以预测每月的成本。

问:什么是 Elastic Resize,与并发扩展有什么区别?

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

问:我可否直接访问并发扩展集群?

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

查询与分析

问:Amazon Redshift 和 Redshift Spectrum 与我的首选商业智能软件包及 ETL 工具兼容吗?

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

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

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

问:Redshift Spectrum 支持哪些数据格式和压缩格式?

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

Redshift Spectrum 目前支持 Gzip 和 Snappy 压缩。

问:如果本地存储中的表与外部表的名称相同,会怎么样?

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

问:如果使用 Hive 元数据仓来存储有关 S3 数据湖的元数据,那么我可以使用 Redshift Spectrum 吗?

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

问:如何获取在集群中创建的所有外部数据库表的列表?

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

监控

问:如何监控 Amazon Redshift 数据仓库群集的性能?

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

维护

问:什么是维护时段? 在软件维护期间数据仓库群集仍可供使用吗?

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

了解有关 Amazon Redshift 定价的更多信息

访问定价页面
准备好开始构建?
Amazon Redshift 入门
还有更多问题?
联系我们