数据分享(Data Sharing)
数据分享是云器 Lakehouse 的跨实例数据共享功能,允许在不复制数据的情况下,实时将表或视图分享给其他服务实例。
什么是数据分享
传统的数据共享方式需要将数据从一个系统复制到另一个系统,这不仅消耗存储资源,还需要维护同步链路,数据更新存在延迟。
Lakehouse 的数据分享采用无复制的方式:数据提供方创建 Share 对象并授权,消费方通过
CREATE SCHEMA FROM SHARE 创建只读 Schema 直接访问原始数据。数据变更即时反映,无需同步。
核心原理
- 数据不移动:消费方查询时直接读取提供方的原始数据
- 实时同步:提供方数据变更,消费方立即可见
- 权限可控:提供方可随时添加/移除分享的数据对象或消费方实例
- 只读访问:消费方只能查询,不能修改、删除或二次分享
与数据同步的对比
| 维度 | 数据分享 | 数据同步 |
|---|---|---|
| 数据复制 | 不复制,直接访问原始数据 | 复制数据到消费方 |
| 实时性 | 实时,提供方变更立即可见 | 有延迟,取决于同步频率 |
| 存储成本 | 消费方不占用存储 | 消费方占用额外存储 |
| 计算成本 | 消费方使用自身计算资源查询 | 同步任务消耗计算资源 |
| 数据修改 | 消费方只读,不能修改 | 消费方可修改复制的数据 |
| 适用场景 | 跨团队/跨公司数据协作 | 数据迁移、独立分析 |
核心概念
Share 对象
Share 是数据分享的载体,包含:
- 数据对象:要分享的表或视图(最多 1000 个)
- 接收实例:被授权访问的消费方服务实例
- 权限:
(查询数据)和SELECT
(查看元数据)READ METADATA
提供方(Provider)
数据的所有者,负责:
- 创建 Share 对象
- 向 Share 中添加要分享的数据对象
- 配置接收实例(消费方的服务实例名称)
消费方(Consumer)
数据的使用者,负责:
- 查看被分享的 Share 对象
- 执行
创建只读 SchemaCREATE SCHEMA FROM SHARE - 查询被分享的数据
典型应用场景
场景 1:跨企业数据协作
A 企业需要将销售数据提供给合作伙伴 B 企业分析:
- A 企业创建 Share,将销售表加入 Share
- A 企业将 B 企业的服务实例添加为接收方
- B 企业创建 Schema from Share,即可实时查询 A 企业的销售数据
- 无需建立高成本的实时同步链路
场景 2:集团内跨部门数据共享
集团总部将统一的主数据(客户、产品、地区)分享给各业务部门:
- 总部创建 Share,包含所有主数据表
- 将各业务部门的服务实例添加为接收方
- 各部门实时获取最新主数据,无需各自维护
场景 3:数据产品对外提供服务
数据服务商将处理后的数据产品提供给客户:
- 创建 Share,包含数据产品表
- 按客户添加对应的接收实例
- 客户实时访问数据产品,服务商可随时控制访问范围
注意事项
- 分享范围限制:一个 Share 最多包含 1000 个表或视图
- 部分数据分享:如需分享表中的部分数据,建议先创建 View 再分享 View
- 二次分享禁止:被分享的数据不能再次分享给其他实例
- 数据复制风险:消费方可以通过
复制数据,提供方需谨慎选择分享范围CREATE TABLE AS SELECT - 工作空间隔离:Share 对象只能包含同一工作空间下的数据对象
操作流程
相关文档
联系我们
