ITPub博客

Redshift

Amazon Redshift 简介

如今已有成千上万的客户依靠 Amazon Redshift 分析 EB 级数据和运行复杂的分析查询,使 Amazon Redshift 成为广泛使用的云数据仓库。在数秒内对您的所有数据运行和扩展分析,而无需管理您的数据仓库基础设施。

工作原理

Amazon Redshift 使用 SQL 在数据仓库、运营数据库和数据湖间分析结构化和半结构化数据,使用 AWS 设计的硬件和机器学习在任意规模提供最佳性价比。

Amazon Redshift 工作原理

Amazon Redshift 通过快速、简单、安全的大规模云数据仓储加快您的洞察时间。

功能和益处

在客户使用需求和反馈的推动下,我们每年都会发布数百项功能和产品改进。 了解有关最新功能的更多信息。

分析所有数据

通过运营数据库、数据湖、数据仓库和数千个第三方数据集,对复杂的规模化数据进行实时和预测性分析,获得综合洞察。

联合查询:借助 Amazon Redshift 中新推出的联合查询功能,您可以查询操作型关系数据库。跨一个或多个 Amazon Relational Database Service(RDS)、Aurora PostgreSQL、RDS MySQL 和 Aurora MySQL 数据库查询实时数据,可以立刻了解完整的业务运营,而无需移动数据。您可以对 Redshift 数据仓库、数据湖以及运营存储中的数据进行整合,从而制定更好的数据驱动型决策。Amazon Redshift 提供了优化来减少通过网络的数据移动,并且支持大规模并行数据处理,可以实现高性能查询。了解更多。

数据共享:Amazon Redshift 数据共享功能可以将 Amazon Redshift 在单个集群中提供的易用性、性能和成本优势扩展到多集群部署,同时还能共享数据。数据共享允许跨多个 Redshift 集群进行即时、精细和快速的数据访问,而无需复制或移动数据。数据共享功能支持对数据的实时访问,以便您的用户能够始终看到最新并且一致的信息,因为数据是在数据仓库中进行更新的。您可以与相同或不同 AWS 账户中及跨区域的 Redshift 集群安全共享实时数据。了解更多。

用于 Amazon Redshift 的 AWS Data Exchange:从您自己的 Redshift 集群中查询 Amazon Redshift 数据集,无需提取、转换、加载(ETL)数据。您可以在 AWS Data Exchange 中订阅 Redshift 云数据仓库产品。提供者更新时,订阅者可以看见该等更改。如果您是数据提供者,则在订阅开始时自动授予访问权,在订阅结束时自动撤销访问权,在付款到期时自动生成发票,并通过 AWS 收取费用。您可以授权访问平面文件、Amazon Redshift 中的数据以及通过 API 提交的数据,所有内容可以一次订阅。了解更多。

Redshift ML:Redshift ML 可以让数据分析师、数据科学家、BI 专业人员和开发人员可以轻松地使用 SQL 创建、训练和部署 Amazon SageMaker 模型。借助 Redshift ML,您可以使用 SQL 语句在其 Amazon Redshift 数据上创建和训练 Amazon SageMaker 模型,然后将这些模型用于预测,例如直接在查询和报告中进行流失检测、财务预测、个性化和风险评分。了解更多。

适用于 Apache Spark 的 Amazon Redshift 集成:使用此功能,可轻松基于 Amazon Redshift 数据构建和运行 Apache Spark 应用程序,使客户能够打开数据仓库以获取更广泛的分析和机器学习方案。借助适用于 Apache Spark 的 Amazon Redshift 集成,使用 AWS 分析和机器学习服务,如 Amazon EMR、AWS Glue、Amazon Athena Spark 和 Amazon SageMaker 的开发人员可以即刻开始轻松构建 Apache Spark 应用程序,从 Amazon Redshift 数据仓库中读写数据,而不会影响应用程序的性能或数据的事务一致性。通过适用于 Apache Spark 的 Amazon Redshift 集成,可以在结合使用 Amazon Redshift 时更轻松地监控和排查 Apache Spark 应用程序的性能问题。

Amazon Aurora 与 Amazon Redshift 零 ETL 集成:Amazon Aurora 和 Amazon Redshift 间是无代码集成,使 Amazon Aurora 客户得以使用 Amazon Redshift 对 PB 级的事务数据进行近乎实时的分析和机器学习。在将事务型数据写入 Amazon Aurora 的几秒内,Amazon Aurora 与 Amazon Redshift 零 ETL 集成使数据可以无缝用于 Amazon Redshift,因此客户不必构建和维护复杂的数据管道来执行提取、转换、加载(ETL)操作。此集成降低了运营负担和成本,使客户能够专注于改进应用程序。通过近乎实时的事务数据访问,客户可以利用 Amazon Redshift 的分析和机器学习能力,从事务数据和其他数据中获得洞察,以有效应对关键的、时效性强的事件。

流式摄取:数据工程师、数据分析师和大数据开发人员使用实时流式引擎提高客户响应能力。有了 Amazon Redshift 中新的数据流摄取功能,您可以使用 SQL(结构化查询语言)连接和直接摄取来自 Amazon Kinesis Data Streams 和 Amazon Managed Streaming for Apache Kafka(MSK)的数据。Amazon Redshift 流式摄取允许您直接在数据流之上创建实体化视图,从而简化了下游管道的创建和管理。实体化视图还可以包含 SQL 转换,作为 ELT(提取、加载、转换)管道的分段。您可以手动刷新定义的实体化视图来查询最新流数据。这种方法允许您使用现有的熟悉的工具执行流数据的下游处理和转换,而不需要额外的费用。

查询数据以及将其导入和导出数据湖:任何其他云数据仓库都无法像 Amazon Redshift 这样轻松地查询开放格式的数据并将其写回到数据湖。您可以使用熟悉的 ANSI SQL 直接在 Amazon S3 中查询开放文件格式,例如 Parquet、ORC、JSON、Avro 和 CSV 等。要将数据导出到数据湖,您只需在 SQL 代码中使用 Amazon Redshift UNLOAD 命令,并将文件格式指定为 Parquet,Amazon Redshift 就会自动处理数据格式并将其移动至 S3。这让您可以灵活地将高度结构化并且经常访问的数据和半结构化数据存储在 Amazon Redshift 数据仓库中,同时将高达 EB 级的结构化、半结构化和非结构化数据保留在 Amazon S3 中。将数据从 Amazon Redshift 导回到数据湖后,您可以使用 Amazon Athena、Amazon EMR 和 Amazon SageMaker 等 AWS 服务来进一步分析该数据。

AWS 服务集成:与 AWS 服务、数据库以及机器学习服务的本地集成,使其更容易处理完整的分析工作流程,而无任何摩擦。例如,AWS Lake Formation 这项服务可以在几天内轻松建立安全的数据湖。AWS Glue 可以将数据提取、转换和加载 (ETL) 到 Amazon Redshift 中。Amazon Kinesis Data Firehose 是获取、转换串流数据并将其加载到 Amazon Redshift 进行近乎实时的分析的最简单的方法。您可以通过 Amazon EMR 使用 Hadoop/Spark 处理数据,并将输出加载到 Amazon Redshift 中用于 BI 和分析。Amazon QuickSight 是第一款按会话付费的 BI 服务,可以用于针对 Redshift 数据来创建报告、可视化和控制面板。您可以使用 Amazon Redshift 准备数据,从而使用 Amazon SageMaker 来运行机器学习 (ML) 工作负载。为了加速向 Amazon Redshift 的迁移,您可以使用 AWS Schema Conversion Tool 和 AWS Database Migration Service (DMS)。Amazon Redshift 还与 Amazon Key Management Service (KMS) 和 Amazon CloudWatch 深度集成,可以实现安全性、监控和合规性。您还可以使用 Lambda 用户定义函数 (UDF) 从 SQL 查询调用 Lambda 函数,就像在 Amazon Redshift 中调用 UDF 那样。您可以编写 Lambda UDF 与 AWS 合作伙伴服务集成并获取其他流行的 AWS 服务,例如 Amazon DynamoDB 或 Amazon SageMaker。

合作伙伴控制台集成:您可以通过在 Amazon Redshift 控制台中与特色级合作伙伴解决方案集成,加快数据载入速度并在几分钟内创建有价值的业务洞察。有了这些解决方案,您能以高效和简化的方式将 Salesforce、Google Analytics、Facebook Ads、Slack、Jira、Splunk 和 Marketo 等应用程序中的数据引入到 Redshift 数据仓库中。它还使您能够连接这些完全不同的数据集并将它们放在一起进行分析,从而产生可行洞察。

从 Amazon S3 自动复制:Amazon Redshift 支持自动复制,实现从 Amazon S3 加载数据的简化和自动化,以节省构建自定义解决方案或管理第三方服务的时间和精力。借助这项功能,Amazon Redshift 可自动提取文件并在后台处理连续数据的加载步骤,而无需手动执行,并重复运行复制过程。自动复制功能可令没有任何数据工程知识的业务线用户和数据分析师也能够轻松创建摄取规则,并配置他们要从 Amazon S3 加载的数据的位置。新数据到达指定的 Amazon S3 文件夹时,将根据用户定义的配置自动触发摄取过程。Redshift 复制命令支持所有文件格式,包括 CSV、JSON、Parquet 和 Avro。

高级分析的本地支持:Amazon Redshift 支持标准标量数据类型,例如 NUMBER、VARCHAR 和 DATETIME,并可为以下高级分析处理提供本地支持:

空间数据处理:Amazon Redshift 提供 GEOMETRY 这种多态数据类型,可以支持 Point、Linestring 和 Polygon 等多种几何形状。Amazon Redshift 还提供各种空间 SQL 函数,用于构造几何形状、导入、导出、访问和处理空间数据。您可以在 Redshift 表中添加 GEOMETRY 列,并编写涵盖空间和非空间数据的 SQL 查询。这一功能让您可以存储、检索和处理空间数据,并能将空间数据集成到分析查询中,从而提高业务洞察力。借助 Amazon Redshift 的无缝查询数据湖的功能,您还可以将外部表集成到空间查询中,从而将空间处理轻松扩展到数据湖。有关详细信息,请参阅文档。

HyperLogLog 草图:HyperLogLog 是一种新算法,可以有效地估算数据集中不同值的近似数量。HLL 草图是一种用于封装数据集中不同值的相关信息的构造。您可以使用 HLL 草图为查询(在大型数据集上计算近似基数,平均相对误差介于 0.01–0.6% 之间)实现显著的性能优势。Amazon Redshift 提供了一流的数据类型 HLLSKETCH 和相关联的 SQL 函数,以生成、保留和合并 HyperLogLog 草图。Amazon Redshift 的 HyperLogLog 功能使用偏差校正技术,并以较低的内存占用量提供高准确度。有关详细信息,请参阅文档。

DATE 和 TIME 数据类型:Amazon Redshift 可提供多种数据类型 DATE、TIME、TIMETZ、TIMESTAMP 和 TIMESTAMPTZ,以在本地存储和处理日期/时间数据。TIME 和 TIMESTAMP 类型存储时间数据而不包含时区信息,而 TIMETZ 和 TIMESTAMPTZ 类型存储包含时区信息的时间数据。您可以使用各种日期/时间 SQL 函数处理 Redshift 查询中的日期和时间值。有关详细信息,请参阅文档。

半结构化数据处理:Amazon Redshift SUPER 数据类型在本地将 JSON 和其他半结构化数据存储在 Redshift 表中,并使用 PartiQL 查询语言无缝地处理这些半结构化数据。SUPER 数据类型本质上是无 schema 的,它允许存储可能包含 Redshift 标量值、嵌套数组和嵌套结构的嵌套值。PartiQL 是 SQL 的扩展,可提供强大的查询功能,例如对象和数组导航、数组解嵌套、动态输入和无 schema 语义。此功能使您能够实现高级分析,将经典的结构化 SQL 数据与具有卓越性能且灵活易用的半结构化 SUPER 数据相结合。有关详细信息,请参阅文档。

与第三方工具集成:您可以通过多种选项来使用行业领先的工具并与专家合作,以便对数据进行加载、转换和可视化,从而改进 Amazon Redshift。我们的大量合作伙伴已认证其解决方案可以与 Amazon Redshift 配合使用。

通过数据集成合作伙伴加载和转换数据。

通过商业智能合作伙伴分析数据并在整个企业内分享洞察。

通过系统集成和咨询合作伙伴设计和实施分析平台。

利用查询和数据建模合作伙伴提供的工具和实用程序对您的数据进行查询、研究和建模。

任意规模都极具性价比

通过自动优化提高查询速度,获得 5 倍于其他云数据仓库的性价比。

RA3 实例:RA3 实例的性价比是其他云数据仓库服务的 5 倍。这些 Amazon Redshift 实例最大限度地提高了需要大量计算容量的性能密集型工作负载的处理速度,而通过指定所需的实例数量,您可以灵活地为计算容量单独付费,无需考虑存储容量。了解详情。

高效存储和高性能查询处理:Amazon Redshift 可以针对 GB 到 PB 级数据集提供快速查询。列式存储、数据压缩和区域映射降低了执行查询所需的 I/O 数量。除了 LZO 和 Zstandard 等行业标准编码之外,Amazon Redshift 还针对数字和日期/时间类型提供了专门构建的压缩编码 AZ64,能够节省存储空间并优化查询性能。

无限并发性:Amazon Redshift 可以始终保持快速性能,即使存在数千个并发查询,无论在 Redshift 数据仓库中查询数据,还是直接在 Amazon S3 数据湖中查询数据,性能均不受影响。Amazon Redshift 并发扩展功能可以在并发量升高时增加瞬态容量,从而支持近乎无限的并发用户和并发查询,并且服务等级保持不变。了解更多。

实体化视图:通过 Amazon Redshift 实体化视图,您可以显著提升迭代或可预测性分析工作负载 [如控制面板生成、来自商业智能(BI)工具的查询以及提取、转换 和加载(ELT)数据处理作业] 的查询性能。您还可以使用实体化视图轻松存储和管理可能引用一个或多个表(包括外部表)的 SELECT 语句的预计算结果。引入具体化视图的后续查询会通过重用预先计算的结果来加速运行。Amazon Redshift 可以高效地以递增方式维护具体化视图,从而持续提供低延迟性能优势。了解更多。

自动实体化视图:组织正在构建比以往更多的数据相关应用程序、控制面板、报告和临时查询。每个应用程序都需要调整和优化,这需要时间、资源和金钱。具体化视图是用于提升查询性能的强大工具,如果您已透彻理解工作负载,您可以设置具体化视图。但是,您的工作负载可能会不断增加并且不断变化,使得查询模式无法预测。自动具体化视图通过自动刷新、自动查询重写、增量刷新和持续监控 Amazon Redshift 集群来提高查询吞吐量、降低查询延迟、缩短执行时间。Amazon Redshift 在 AutoMV 的创建和管理与最低资源利用率之间取得平衡。了解更多。

使用机器学习来最大限度地提高吞吐量和性能:Amazon Redshift 中的高级 ML 功能可以在工作负载或并发用户活动各不相同的情况下提供高吞吐量和高性能。Amazon Redshift 基于传入查询的运行时间和资源要求,利用复杂的算法来对其进行预测和分类,从而动态管理性能和并发性,同时帮助您确定关键业务型工作负载的优先顺序。短查询加速 (SQA) 会从控制面板等应用程序中将短查询发送到快速队列进行即时处理,而不会将其排在大量查询之后。自动工作负载管理 (WLM) 使用机器学习来动态管理内存和并发性,有助于最大限度地提高查询吞吐量。此外,即使正在提交数百条查询,您现在也可以轻松设定最重要的查询的优先顺序。Amazon Redshift 还是一种观察用户工作负载的自我学习式系统,能够在使用量增长时确定提升性能的机会、无缝应用优化,并在需要用户操作时通过 Redshift Advisor 提供建议,以便进一步提升 Redshift 的性能。

结果缓存:Amazon Redshift 使用结果缓存来为重复查询实现亚秒级响应时间。执行重复查询的控制面板、可视化和商业智能工具的性能得到大幅提升。在执行查询时,Amazon Redshift 会对缓存进行搜索,看看是否有之前运行的查询的缓存结果。如果找到缓存结果且数据没有变化,Amazon Redshift 会立即返回缓存结果,而不会重新运行查询。

PB 级数据仓储:只需在控制台中单击几下或进行简单的 API 调用,您就可以轻松更改数据仓库中的节点数量或类型,并根据需求变化进行纵向扩展和缩减。通过托管存储,容量自动增加以便支持最多 8PB 压缩数据的工作负载。通过 Amazon Redshift Spectrum 功能,您可以针对 Amazon S3 中的 PB 级数据运行查询,无需加载或转换任何数据。您可以将 S3 用作高度可用、安全而经济高效的数据湖,以开放数据格式存储无限数据。Redshift Spectrum 在成千上万的并行节点中执行查询,无论查询有多复杂或数据量有多大都可以快速提供结果。

弹性定价选项:Amazon Redshift 是最具成本效益的数据仓库,而且您可以选择最佳付费方式。您可以从小规模开始,先选择每小时 0.25 美元并且没有消费承诺,然后逐渐横向扩展到每年每 TB 1000 美元。Amazon Redshift 是一种独一无二的云数据仓库,可以提供无预付费的按需定价模式、承诺使用 1 年或 3 年并节省费用高达 75% 的预留实例定价模式,以及基于 Amazon S3 数据湖中扫描的数据量的按查询量付费定价模式。Amazon Redshift 的定价包含内置安全性、数据压缩、备份存储和数据传输费用。随着数据量的增加,您可以在 RA3 实例中使用托管存储,从而以经济高效的方式存储数据,每月每 GB 仅需 0.024 美元。

成本可预测(即使工作负载不可预测):Amazon Redshift 让您能够在尽可能不增加成本的情况下进行扩展,因为每个集群每天最多可以获得 1 小时的免费并发扩展积分。这些免费积分足以满足 97% 的客户的并发需求。这样,即使分析需求有波动,您也可以预测每月的成本。

选择节点类型以充分发挥工作负载的价值:您可以从三种实例类型中进行选择,以便优化 Amazon Redshift 来满足自己的数据仓库需求:RA3 节点、密集计算节点和密集存储节点。

RA3 节点让您能够在计算容量之外单独扩展存储容量。利用 RA3,您可以获得一种将数据存储在单独存储层中的高性能数据仓库。您只需针对需要的查询性能调整数据仓库大小。

利用密集计算 (DC) 节点,您可以创建具有高速 CPU、大容量 RAM 和固态硬盘 (SSD) 的超高性能数据仓库,这是数据小于 500 GB 时的最佳选择。

对于 密集存储 (DS2) 节点,您可以购买 3 年期预留实例,从而以较低的费用创建使用硬盘 (HDD) 的大型数据仓库。大多数运行 DS2 集群的客户均能够将其工作负载迁移到 RA3 集群,以与 DS2 相同的成本获得 2 倍的性能和更多的存储量。

只需要进行一次 API 调用或在 AWS 管理控制台中单击几下,您就可以扩展集群或在节点类型之间切换。有关更多信息,请访问定价页面。

轻松、安全、可靠

专注于在数秒内从数据中获取洞察,并交付业务结果,无需担心管理数据仓库。

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

Query Editor v2:用 SQL 使数据分析师、数据工程师和其他使用基于 web 的分析师工作平台的 SQL 用户更易于访问您的 Amazon Redshift 数据和数据湖,以此进行数据探查和分析。Query Editor v2 允许您通过一次单击可视化查询结果、创建模式和表格、可视化加载数据,以及浏览数据库对象。还提供直观型编辑器,用于编写及共享 SQL 查询、分析、可视化和注释,并与您的团队安全地分享。

自动化表格设计:Amazon Redshift 监控用户工作负载,并使用精密的算法寻找改善数据的物理布局以优化查询速度的方法。自动表格优化可选择最佳排序键和分布键以优化集群工作负载的性能。如果 Amazon Redshift 确定应用键可以提高集群性能,会自动对表进行更改,而不需要管理员干预。使用其他功能,例如自动 Vacuum Delete、自动表格排序和自动分析,无需再对 Redshift 集群进行手动维护和优化就能使新集群和生产工作负载达到最佳性能。

使用您自己的工具查询:Amazon Redshift 为您提供了在控制台内运行查询或连接 SQL 客户端工具、库或数据科学工具(包括 Amazon QuickSight、Tableau、PowerBI、QueryBook 和 Jupyter Notebook)的灵活性。

与 Amazon Redshift 交互的简单 API:Amazon Redshift 让您能够轻松访问所有类型的传统、云原生和容器化无服务器 Web 服务型应用程序以及事件驱动的应用程序中的数据。Amazon Redshift Data API 可以通过 AWS 软件开发工具包(例如 Python、Go、Java、Node.js、PHP、Ruby 和 C++)支持的编程语言和平台简化数据的访问、摄取和传出。使用 Data API 后,无需再配置驱动程序和管理数据库连接。您只需调用 Data API 提供的安全 API 终端节点,即可对 Amazon Redshift 集群运行 SQL 命令。Data API 负责管理数据库连接和缓冲数据。Data API 是异步的,因此您可以随后检索结果。您的查询结果可存储 24 小时。

容错:Amazon Redshift 拥有多种可提高数据仓库集群可靠性的功能。例如,Amazon Redshift 会持续监控集群的运行状况,并自动从出故障的驱动器重新复制数据,同时根据需要替换节点以实现容错。集群还可以重新定位到备选可用区(AZ),而不会有任何数据丢失或应用程序变更。

AWS 具有全面的安全能力,可以满足最苛刻的要求,而 Amazon Redshift 可以提供开箱即用的数据安全功能,无需额外费用。

精细访问控制:精细的行级和列级安全控制功能可以确保用户只能看到他们需要访问的数据。Amazon Redshift 与 AWS Lake Formation 集成,可以确保 Lake Formation 的列级访问控制也应用于针对数据湖中的数据执行的 Redshift 查询。

Amazon Redshift 数据共享功能支持通过 AWS Lake Formation 进行集中访问控制,以简化对 Amazon Redshift 共享数据的治理。AWS Lake Formation(LF)此项服务可以轻松设置数据湖,以集中管理所有使用中服务数据的精细访问,并应用行级和列级控制。

动态数据掩蔽:通过动态数据掩蔽,客户可以通过限制用户可见的身份数据数量轻松保护其敏感数据,同时,还可以在这些字段上定义多个权限级别,从而使不同的用户和组可以访问不同级别的数据,而无需创建多个数据副本,所有这些操作都可通过 Redshift 熟悉的 SQL 接口实现。

多可用区:新的 Redshift 多可用区配置通过减少回复时间和保证自动恢复时无数据丢失,以进一步提升恢复能力。Redshift 多可用区数据仓库能够提供高可用性,且无需使用备用资源,从而最大限度地提高性能和价值。

端到端加密:只需进行几项参数设置,您即可将 Amazon Redshift 设置为利用 SSL 来保护传输中数据,并利用硬件加速型 AES-256 加密来保护静态数据。如果您选择启用静态数据加密,那么所有写入硬盘的数据以及任何备份数据也将被加密。Amazon Redshift 默认负责密钥管理。

网络隔离:Amazon Redshift 让您能够配置防火墙规则,以便控制对数据仓库集群的网络访问。您可以在 Amazon Virtual Private Cloud(VPC)中运行 Amazon Redshift,以便将您的数据仓库集群隔离在自己的虚拟网络中,并用行业标准加密的 IPsec VPN 将其连接至您现有的 IT 基础设施。

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

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