将零 ETL 集成与 Amazon Redshift 结合使用时的注意事项
Amazon Redshift 的零 ETL 集成有以下注意事项。
-
您的目标 Amazon Redshift 数据仓库必须满足以下先决条件:
-
运行 Amazon Redshift Serverless 或 RA3 节点类型。
-
已加密(如果使用预置集群)。
-
已启用区分大小写。
-
-
如果您删除某个源而该源是 Amazon Redshift 数据仓库的授权集成源,则所有关联的集成都将进入
FAILED
状态。 -
目标数据库是只读的。您无法在目标数据库中创建表、视图或实体化视图。但是,您可以在目标数据仓库中的其他表上使用实体化视图。
-
只有在跨数据库查询中使用时才支持实体化视图。使用从零 ETL 集成中复制的数据刷新实体化视图时,会导致视图完全刷新。不支持增量刷新、自动查询重写、自动刷新和自动实体化视图。有关通过零 ETL 集成复制的数据创建实体化视图的信息,请参阅使用实体化视图查询复制的数据。
-
您只能查询目标数据仓库中处于
Synced
状态的表。有关更多信息,请参阅 零 ETL 集成的指标。 -
Amazon Redshift 仅接受 UTF-8 字符,因此它可能不支持源中定义的排序规则。排序和比较规则可能有所不同,这最终会改变查询结果。
-
Amazon Redshift VARCHAR 数据类型的最大长度为 65535 个字节。当来自该源的内容不符合此限制时,复制将无法继续,系统会将表置于失败状态。有关零 ETL 集成源和 Amazon Redshift 数据库之间的数据类型差异的更多信息,请参阅《Amazon Aurora 用户指南》中的 Aurora 和 Amazon Redshift 之间的数据类型差异。
-
集成源中的表必须具有主键。否则,您的表无法复制到 Amazon Redshift 中的目标数据仓库。
有关如何向 Aurora PostgreSQL 兼容版本添加主键的信息,请参阅 AWS 数据库博客中的 Handle tables without primary keys while creating Amazon Aurora PostgreSQL zero-ETL integrations with Amazon Redshift
。有关如何向 Amazon Aurora MySQL 或 RDS for MySQL 添加主键的信息,请参阅 AWS 数据库博客中的 Handle tables without primary keys while creating Amazon Aurora MySQL or Amazon RDS for MySQL zero-ETL integrations with Amazon Redshift 。 -
您可以使用适用于 Amazon 零 ETL 集成的数据筛选,来定义从源 Aurora 数据库集群复制到目标 Amazon Redshift 数据仓库的范围。您可以定义一个或多个筛选条件,选择性地在复制中包括或排除某些表,而不是将所有数据都复制到目标。有关更多信息,请参阅《Amazon Aurora 用户指南》中的 Aurora 与 Amazon Redshift 零 ETL 集成的数据筛选。
-
对于 Aurora PostgreSQL 与 Amazon Redshift 的零 ETL 集成,请在预览 模式下创建目标数据仓库。有关更多信息,请参阅 创建和配置目标 Amazon Redshift 数据仓库。
-
在将数据从事务数据存储复制到 Amazon Redshift 时,零 ETL 集成不支持转换。数据从源数据库按原样复制。不过,您可以在 Amazon Redshift 中对复制的数据应用转换。
-
零 ETL 集成使用并行连接在 Amazon Redshift 中运行。该集成使用通过集成创建数据库的用户的凭证运行。查询运行时,这些连接在同步(写入)过程中不会启动并发扩展。并发扩展读取(从 Amazon Redshift 客户端)适用于同步对象。
有关适用于集成源的其他注意事项,请参阅以下主题之一:
-
对于 Aurora 源,请参阅《Amazon Aurora 用户指南》中的限制。
-
对于 Amazon RDS 源,请参阅《Amazon RDS User Guide》中的 Limitations。