什么是数据共享? - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

什么是数据共享?

数据共享是在 Amazon Redshift 中共享数据的单位。使用数据共享可在同一个 Amazon Web Services 账户或不同 Amazon Web Services 账户中共享数据。还可以在不同 Amazon Redshift 集群间共享数据,以进行读取。

每个数据共享都与 Amazon Redshift 集群上的特定数据库相关联。

生产者集群管理员可以创建数据共享并添加数据共享对象,以与其他集群共享数据(称为出站共享)。使用者集群管理员可以从其他集群接收数据共享,称为入站共享。有关生产者和使用者的详细信息,请参阅数据共享生产者和使用者

数据共享对象是来自集群上特定数据库的对象,生产者集群管理员可以将其添加到要与数据使用者共享的数据共享中。对于数据使用者来说,数据共享对象是只读的。数据共享对象的示例包括表、视图和用户定义的函数。您可以随时在创建数据共享或编辑数据共享时将数据共享对象添加到数据共享。

当调整集群大小或暂停生产者集群时,数据共享将继续工作。

数据共享有不同的类型。

标准数据共享

通过标准数据共享,您可以在预调配集群、无服务器工作组、可用区、Amazon Web Services 账户和 Amazon Web Services 区域之间共享数据。您可以在集群类型之间共享,也可以在预调配集群和 Amazon Redshift Serverless 之间共享。

要共享数据,请注意以下预调配集群、无服务器命名空间和 Amazon Web Services 账户标识符:

  • 预调配集群命名空间是标识 Amazon Redshift 预调配集群的标识符。命名空间全局唯一标识符 (GUID) 会在创建预调配集群期间自动创建并附加到集群。命名空间 Amazon 资源名称(ARN)的格式为 arn:{partition}:redshift:{region}:{account-id}:namespace:{namespace-guid}。您可以在 Amazon Redshift 控制台的集群详细信息页面上查看预调配集群的命名空间。

    在数据共享工作流中,命名空间 GUID 值和集群命名空间 ARN 用于与 Amazon Web Services 账户中的集群共享数据。您还可以通过使用 current_namespace 函数为当前集群查找命名空间。

  • 无服务器命名空间 是标识 Amazon Redshift Serverless 的标识符。命名空间全局唯一标识符 (GUID) 会在创建 Amazon Redshift Serverless 期间自动创建并附加到实例。无服务器命名空间 ARN 的格式为 arn:{partition}:redshift-serverless:{region}:{account-id}:namespace/{namespace-guid}。

  • Amazon Web Services 账户可以是数据共享的使用者,每一个都用 12 位数的 Amazon Web Services 账户 ID 表示。

对于标准数据共享,请考虑以下事项:

  • 删除创建器集群时,Amazon Redshift 会删除由创建者集群创建的数据共享。备份和还原创建器集群时,创建的数据共享仍然保留在已恢复的集群上。但是,授予其他集群的数据共享权限在还原的集群上不再有效。将数据共享的使用权限重新授予所需的使用者集群。使用者集群上的使用者数据库指向拍摄快照所在的原始集群中的数据共享。要从还原的集群中查询共享数据,使用者集群管理员可创建一个不同的数据库。或者,管理员可以删除并重新创建现有的使用者数据库,以使用新还原的集群中的数据共享。

  • 当从快照中删除并还原使用者集群时,以前共享到此集群的访问权限将不再有效且可见。如果还原的使用者集群上仍然需要访问数据共享,则创建者集群管理员必须再次授予已恢复的使用者集群使用数据共享的权限。使用者集群管理员必须删除从非活动数据共享创建的任何过时的使用者数据库。然后,在创建者重新授予权限后,管理员必须从数据共享中重新创建使用者数据库。由于恢复的集群上的集群命名空间 GUID 与原始集群不同,因此在从备份还原使用者或生产者集群时重新授予数据共享权限。

数据共享生产者和使用者

数据创建器(也称为数据共享创建器或数据共享生成器)是您想要从中共享数据的集群。创建者集群管理员和数据库拥有者可以使用 CREATE DATASHARE 命令创建数据共享。您可以从该数据库中添加架构、表、视图和 SQL 用户定义的函数(UDF)等对象,而您希望生产者集群与使用者集群共享这些对象。

Amazon Web Services Data Exchange 数据共享的数据提供商(也称为 Amazon Web Services Data Exchange 上的提供商)可通过 Amazon Web Services Data Exchange 许可数据。经批准的提供商可以将 Amazon Web Services Data Exchange 数据共享添加到 Amazon Web Services Data Exchange 产品。

当客户订阅带 Amazon Web Services Data Exchange 数据共享的产品时,Amazon Web Services Data Exchange 自动将该客户添加为该产品包含的所有 Amazon Web Services Data Exchange 数据共享上的数据使用者。当客户的订阅结束时,Amazon Web Services Data Exchange 还将从 Amazon Web Services Data Exchange 数据共享中删除所有客户。Amazon Web Services Data Exchange 还自动管理使用 Amazon Web Services Data Exchange 数据共享的付费产品的计费、发票、付款收集和付款分配事宜。有关更多信息,请参阅 Amazon Web Services Data Exchange 数据共享。如需注册为 Amazon Web Services Data Exchange 数据提供商,请参阅以提供商身份开始使用

数据使用者(也称为数据共享使用者或数据共享使用者)是从创建器集群接收数据共享的集群。

共享数据的 Amazon Redshift 集群可以位于相同或不同的 Amazon Web Services 账户或不同的 Amazon Web Services 区域中,因此,您可以跨组织共享数据并与其他各方协作。使用者集群管理员将收到其被授权使用的数据共享,并查看每个数据共享的内容。要使用共享的数据,使用者集群管理员可从数据共享中创建 Amazon Redshift 数据库。然后,管理员将数据库的权限分配给使用者集群中的用户和角色。授予权限后,用户和角色可以将共享对象列为标准元数据查询的一部分,以及使用者集群上的本地数据。他们可以立即开始查询。

如果您是活动 Amazon Web Services Data Exchange 订阅的使用者(也称为 Amazon Web Services Data Exchange 上的订阅者),您可以在 Amazon Redshift 中查找、订阅和查询最新的精细数据,无需提取、转换和加载数据。有关更多信息,请参阅 Amazon Web Services Data Exchange 数据共享