啥?Snowflake 数据共享功能

简介: 啥?Snowflake 数据共享功能

在现代经济中,数据推动业务发展;企业获取数据并提供有意义的见解的速度越快,他们就越能做出明智的决策。近年来,Snowflake在这个领域取得了长足的进步,进展令人印象深刻。Snowflake也越来越多地被一些公司采用,因为它以其大型数据集处理和计算能力而闻名。它提供了可扩展性、可负担性、安全性、易用性、定制和轻松的数据集成。此外,Snowflake 还根据用例的需要提供许多专业服务,例如 Snowflake Arctic、Snowflake for Big Data、Snowflake Data Sharing 和 Snow Pipe。它们为所有努力从战略数据利用中获利的企业带来了强大的武器。

       在本文中,我将探讨 Snowflake 中的数据共享工作原理。数据共享是将数据提供给多个用户、应用程序或组织,同时保持其质量的过程。组织通常需要与客户、供应商和合作伙伴共享数据,但他们面临着重大挑战,例如治理不善、解决方案过时、手动数据传输以及与特定供应商绑定。为了实现真正的数据驱动,组织需要一种改进的数据共享方法。Snowflake 为这些挑战提供了现代解决方案,可实现无缝和安全的数据共享。

数据共享

       使用 Snowflake 作为数据仓库时,您可以与其他 Snowflake 帐户持有人共享选定的数据对象,甚至可以与没有 Snowflake 帐户的人共享(通过读者帐户)。Snowflake 中数据共享的一个主要优点是数据不会在帐户之间复制或传输。相反,对提供商帐户所做的任何更新都会立即提供给使用者。

供应商

       提供商(也称为数据提供商或生产者)是 Snowflake 帐户的用户,负责创建共享并将其提供给其他 Snowflake 帐户用户使用。作为共享的创建者,提供商有权决定哪些数据和资源可供 Snowflake 生态系统中的其他用户共享和访问。

消费者

       数据使用者是指选择使用数据提供者提供的共享建立数据库的任何帐户。作为数据使用者,在将共享数据库集成到您的账户中后,您可以访问并可以像您账户中的任何其他数据库一样查询数据库的内容。

       在 Snowflake 中共享数据有不同的方法。您可以根据特定权限限制访问,确保只有授权用户才能查看某些对象,也可以使数据可供所有目标用户读取。这种灵活性允许安全高效的数据协作。

直接分享

       当提供商和使用者位于同一区域时,直接共享是消费者访问提供商共享的数据的最简单方法。此方法要求数据提供程序有权访问使用者帐户的帐户 ID。设置完成后,使用者可以轻松查看和使用共享数据对象。

拥有 Snowflake 帐户的消费者

image.png

拥有 Snowflake 帐户的使用者可以访问提供商共享的数据。共享对象只能由这些使用者访问。在此设置中,提供商需要为存储付费,而使用者需要为计算使用量付费。通过 Snowflake 共享共享和使用数据时,请务必遵循最佳实践。其中包括验证数据共享、审核对共享数据的访问,以及根据需要在共享中添加或删除对象。这确保了安全高效的数据共享。

要在 Snowflake 中执行的命令列表,用于将对象从提供者共享到使用者。

CREATE DATABASE ROLE MYSHARE;
GRANT USAGE ON SCHEMA PUBLIC TO DATABASE ROLE MYSHARE;
GRANT SELECT ON VIEW VW_CUSTOMER  TO DATABASE ROLE MYSHARE;
SHOW GRANTS TO DATABASE ROLE MYSHARE;
CREATE OR REPLACE SHARE MY_TEST_SHARE;
GRANT USAGE ON DATABASE SAMPLE_DB TO SHARE MY_TEST_SHARE;
GRANT USAGE ON SCHEMA SAMPLE_DB.PUBLIC TO SHARE MY_TEST_SHARE;
GRANT SELECT ON TABLE SAMPLE_DB.PUBLIC.CUSTOMER_TEST TO SHARE MY_TEST_SHARE;
SHOW SHARES;
SHOW GRANTS TO SHARE MY_TEST_SHARE;
ALTER SHARE MY_TEST_SHARE ADD ACCOUNT= ACC12345;
------ TO SHARE ALL OBJECTS 
GRANT SELECT ON ALL TABLES IN SCHEMA SAMPLE_DB.PUBLIC TO SHARE MY_TEST_SHARE;
GRANT SELECT ON ALL TABLES IN DATABASE SAMPLE_DB  TO SHARE MY_TEST_SHARE;

image.png

作为数据提供商,您可能希望与没有 Snowflake 帐户或尚未准备好成为许可 Snowflake 客户的使用者共享数据。没有 Snowflake 帐户的使用者无法访问共享数据。要启用访问权限,您可以创建一个读者帐户并与使用者共享。使用 Reader 帐户,无需用户注册 Snowflake 帐户即可快速、简单且经济实惠地共享数据。生成每个读者帐户的提供商帐户负责管理它。客户产生的处理费和仓储费均由提供商承担。

SQL的

CREATE MANAGED ACCOUNT READER_ACCT;
ADMIN_NAME='READER_ACCT';
ADMIN_PASSWORD='**********';
TYPE='READER';
SHOW MANAGED ACCOUNTS;
--Snowflake URL with Locator ( Share it with the Consumer)
ALTER SHARE SHARE_NAME ADD ACCTID=LOCATOR IN URL IN ABOVE LINE ;
SHARE_RESTRICATIONS=FALSE;
ALTER SHARE QCUFBZG.AXYZ5751.POC_SNOWFLAKE_SECURE_SHARE ADD ACCOUNT=XYZ11993;
SHARE_RESTRICTIONS=FALSE;

与使用者共享数据时,使用者可以看到所有信息,提供者无法隐藏任何数据。建议使用安全视图共享数据。这样,只有面向使用者的属性是可见的,并且对其他数据的访问受到限制。如果视图旨在确保数据隐私,则应将其标记为安全。

清单

       列表是一种更安全地共享数据的更高级方式,并且在与直接共享相同的生产者和消费者模型上运行。但是,它的不同之处在于它不限于同一区域;不同地域的 Snowflake 账号可以访问数据。数据可以与特定帐户共享,也可以在 Snowflake Marketplace 中发布。列表有两种类型:私人和公共。

私人:私人列表仅供特定消费者访问。它们允许您利用列表功能直接与任何 Snowflake 区域中的其他 Snowflake 帐户共享数据和其他信息。

公共:数据产品可以在 Snowflake Marketplace 中公开共享。通过在 Snowflake Marketplace 上提供列表,您可以在 Snowflake Data Cloud 中推广您的数据产品。这允许您一次与多个使用者共享精选数据产品,而不是单独管理与每个使用者的共享安排

       Snowflake 的数据共享功能为希望安全高效地共享数据的组织提供了现代解决方案。通过利用上述功能,企业可以克服传统的数据共享挑战,并释放其数据的全部潜力。根据用例确定与消费者共享数据或从提供商处访问数据的最佳方法。有关实现数据共享的更详细说明和最佳实践,请参阅官方 Snowflake 文档。


目录
相关文章
|
8月前
|
存储 安全 数据管理
新型数据库技术:基于区块链的分布式数据存储系统
传统数据库系统面临着中心化管理、数据安全性和可信度等方面的挑战。本文介绍了一种基于区块链技术的新型数据库系统,通过分布式存储和去中心化的特性,提高了数据的安全性和可信度,同时实现了高效的数据管理和共享。该系统在多个领域如金融、医疗和物联网等具有广阔的应用前景。
|
SQL 存储 关系型数据库
异构数据库、异构数据源、分布式数据库三者的辨析区别
异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。
|
2月前
|
存储 运维 安全
Snowflake 与传统数据仓库相比有哪些优势?
Snowflake 与传统数据仓库相比有哪些优势?
177 52
|
8月前
|
存储 安全 数据管理
新一代数据库技术:融合区块链的分布式数据存储系统
传统数据库系统面临着数据安全性、可信度和去中心化等挑战,而区块链技术的兴起为解决这些问题提供了新的思路。本文介绍了一种新一代数据库技术,将区块链技术与传统的分布式数据存储系统相融合,实现了更高水平的数据安全性和可信度,以及去中心化的优势。通过结合区块链的不可篡改性和分布式存储系统的高性能,这一新型数据库技术将在未来的数据管理领域发挥重要作用。
|
存储 算法 NoSQL
常见分布式ID解决方案总结:数据库、算法、开源组件
分布式ID解决方案是用于在分布式系统中生成唯一标识符的方案。常见的分布式ID解决方案可总结为3点:数据库方案、算法方案、开源组件方案。
733 1
常见分布式ID解决方案总结:数据库、算法、开源组件
|
存储 SQL 缓存
【分布式技术专题】「分布式ID系列」百度开源的分布式高性能的唯一ID生成器UidGenerator
【分布式技术专题】「分布式ID系列」百度开源的分布式高性能的唯一ID生成器UidGenerator
771 0
【分布式技术专题】「分布式ID系列」百度开源的分布式高性能的唯一ID生成器UidGenerator
|
存储 消息中间件 缓存
分布式系统中数据存储方案实践
在项目研发的过程中,对于数据存储能力的依赖无处不在,项目初期,相比系统层面的组件选型与框架设计,由于数据体量不大,在存储管理方面通常容易被轻视,当项目发展进入到中后期阶段,系统的复杂性很大程度来源于数据层面;
329 0
分布式系统中数据存储方案实践
|
cobar 关系型数据库 MySQL
关系型数据的分布式处理系统:Cobar
Cobar简介 Cobar是关系型数据的分布式处理系统,它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。
299 0
关系型数据的分布式处理系统:Cobar
|
消息中间件 存储 算法
分布式ID生成方案选型!详细解析雪花算法Snowflake
本篇文章中和大家分享了分布式项目中的全局唯一ID生成算法的雪花算法。首先从分布式项目中的ID需要满足的条件引入问题,然后详细解析了雪花算法Snowflake生成唯一ID的具体方式,最后通过一个具体实例SnowflakeIdWorker介绍了雪花算法的具体使用。
1121 0
分布式ID生成方案选型!详细解析雪花算法Snowflake
|
存储 运维 Cloud Native
[Snowflake核心技术解读系列四]云特性
Snowflake取得了巨大的商业成功,技术是如何支撑起它的千亿美元市值呢?它技术强在哪?本文为大家倾情解读Snowflake的核心技术原理。
630 0
[Snowflake核心技术解读系列四]云特性

热门文章

最新文章