使用 Amazon Redshift 访问联合数据时的限制和注意事项 - Amazon Redshift
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon Redshift 访问联合数据时的限制和注意事项

某些 Amazon Redshift 功能不支持对联合数据进行访问。您可以在下面找到相关的限制和注意事项。

以下是将联合查询与 Amazon Redshift 结合使用时的限制和注意事项:

  • 联合查询支持对外部数据源进行读取访问。无法在外部数据源中写入或创建数据库对象。

  • 在某些情况下,您可能访问与 Amazon Redshift 不同的 AWS 区域中的 Amazon RDS 或 Aurora 数据库。在这些情况下,您通常会因跨 AWS 地区传输数据而产生网络延迟和计费费用。我们建议您将 Aurora 全局数据库用于与 Amazon Redshift 集群位于同一 AWS 区域的本地终端节点。Aurora 全局数据库使用专用基础设施在任意两个 AWS 区域间进行基于存储的复制,典型延迟不到 1 秒。

  • 考虑访问 Amazon RDS 或 Aurora 的成本。例如,使用此功能访问 Aurora 时,Aurora 费用基于 IOPS。

  • 联合查询不允许从 RDS 或 Amazon Redshift 访问 Aurora。

  • 联合查询当前不支持通过具体化视图进行访问。

  • 联合查询仅在同时提供 Amazon Redshift 和 Amazon RDS 或 Aurora 的 AWS 区域中可用。

  • 联合查询当前不支持 ALTER SCHEMA。 要更改架构,请使用 DROP,然后使用 CREATE EXTERNAL SCHEMA

  • 联合查询不适用于并发扩展。

以下是使用对 PostgreSQL 数据库的联合查询时的事务的注意事项:

  • 如果查询由联合表组成,则领导节点会在远程数据库上启动 READ ONLY REPEATABLE READ 事务。此事务在 Amazon Redshift 事务的持续时间内保留。

  • 领导节点通过调用 pg_export_snapshot 创建远程数据库快照,并对受影响的表进行读锁定。

  • 计算节点启动事务,并使用在领导节点上创建的快照来向远程数据库发出查询。

外部 schema 可以引用外部 RDS Amazon Redshift 或 PostgreSQL 中的数据库。Aurora PostgreSQL当它这样做时,以下限制将适用:

  • 创建引用 Aurora 的外部架构时,Aurora PostgreSQL 数据库必须为版本 9.6 或更高版本。

  • 创建引用 Amazon RDS 的外部架构时,Amazon RDS PostgreSQL 数据库必须为版本 9.6 或更高版本。

以下是 Amazon Redshift 的 MySQL 联合身份查询功能的预发布文档,目前为预览版。文档和功能均可能随时更改。我们建议您只在测试集群中使用此功能,而不要在生产环境中使用。有关预览版条款和条件,请参阅 AWS 服务条款中的Beta 服务参与

对 RDS MySQL 或 Aurora MySQL 的联合查询支持 READ COMMITTED 级别的事务隔离。

外部 schema 可以引用外部 RDS Amazon Redshift 或 MySQL 中的数据库。Aurora MySQL当它这样做时,以下限制将适用:

  • 在创建引用 Aurora 的外部架构时,Aurora MySQL 数据库必须为版本 5.6 或更高版本。

  • 创建引用 Amazon RDS 的外部架构时,RDS MySQL 数据库必须为版本 5.6 或更高版本。