在Redshift集群间设置Redshift数据共享的分步流程
内容提要
亚马逊数据共享是在Redshift集群中创建数据共享的解决方案,无需数据移动或复制系统。用户可以创建、添加和移除对象,并授权访问。介绍了亚马逊Redshift数据共享的用例和在消费者集群上创建数据库的步骤。
延伸解读
数据共享的适用场景与优势
Amazon Redshift 数据共享允许在集群间共享数据而无需移动或复制,这消除了传统数据仓库中数据共享的耗时和依赖 DBA 工具的问题。它特别适用于需要跨团队或部门进行准确测试和统一决策的场景,用户无需提前通知 DBA 准备测试环境,也无需自行移动数据。
关键配置参数解析
创建数据共享时,PUBLICACCESSIBLE 参数应设置为 FALSE,以避免公开共享数据。使用 ALTER DATASHARE 添加对象时,可通过 INCLUDENEW 参数(默认为 FALSE)自动包含未来在模式中创建的表、视图或 UDF,但只有超级用户能修改此属性。
控制台手动授权步骤
除了 SQL 命令,还需要在 AWS 控制台手动授权。生产者端需在 datashares 选项卡中授权数据共享,消费者端需关联来自其他账户的数据共享。这些步骤是数据流动的必要条件,不可省略。
消费者端数据库与外部模式
在消费者集群上,需从数据共享创建数据库,然后创建外部模式来映射共享模式。外部模式会自动包含共享模式中的对象,无需手动创建表或视图。最后,需授予用户或组对数据库和模式的访问权限。
Q&A
如何在Redshift集群中创建数据共享?
可以通过执行CREATE DATASHARE命令来创建数据共享,确保PUBLICACCESSIBLE参数设置为FALSE。
在Redshift中如何添加或移除数据共享对象?
使用ALTER DATASHARE命令可以添加或移除对象,具体语法为ALTER DATASHARE datashare_name ADD/REMOVE TABLE schemaname.table_name。
如何查看Redshift集群中的数据共享?
可以使用SHOW DATASHARES命令查看集群内的入站和出站数据共享。
在Redshift中,如何授权消费者访问数据共享?
需要在AWS控制台上手动授权消费者集群访问数据共享,并使用GRANT USAGE命令授予权限。
创建外部模式的目的是什么?
创建外部模式是为了在本地数据库中使用共享数据库的结构,方便访问共享数据。
在Redshift中,如何删除数据共享对象?
使用DROP DATASHARE命令可以从集群中删除数据共享对象,语法为DROP DATASHARE datashare_name。