
随着企业数据平台不断向云原生、多租户和数据中台方向发展,跨租户的数据流通能力正成为释放数据价值的重要基础设施。南大通用GCDW 云数仓(gbase database)数据共享功能以“共享访问能力,而非复制数据”为核心设计理念,实现了多租户云数仓之间的数据高效协同。
其核心特性主要有:
1、实时共享与快照共享
不同业务对数据一致性的要求并不相同。
因此,GCDW 提供了两种数据共享模式。
实时共享:
适用于业务数据持续更新的场景。
目标租户每次查询时,都能够访问源租户当前最新的数据。
例如:
- 报表
- 实时运营分析
- 在线数据查询
- 数据中台服务
无需任何同步任务,即可获取最新数据。
快照共享:
对于财务、审计等业务,更关注的是数据一致性。
GCDW 支持创建快照共享,在创建分享时记录当前的数据一致性版本:
CREATE SNAPSHOT SHAREDATA order_snapshot FROM TABLE salesdb.orders FOR ACCOUNT tenant_b;
之后,无论源表如何更新,目标租户访问到的始终都是创建快照时的数据。
这种方式能够保证:
- 分析结果一致
- 报表数据稳定
- 审计数据可追溯
一套数据共享机制,同时满足了实时分析与一致性分析两类典型业务需求。
2、映射表机制,实现零数据复制
创建数据共享后,目标租户无需导入数据,而是创建一个映射表:
CREATE TABLE orders FROM SHAREDATA order_share;
映射表保存的是共享关系和元数据信息,而真正的数据仍然保留在源租户。
相比传统同步方式,具有以下优势:
- 无需重复存储数据
- 不产生额外数据副本
- 节省存储空间
- 避免同步延迟
- 无需维护数据一致性
对于 TB、PB 级数据而言,能够有效降低数据管理成本。
3、支持表分享与视图分享
除了普通数据表外,GCDW 同样支持视图共享。
源租户可以将已经封装好的业务视图共享给目标租户:
CREATE SHAREDATA sales_view_share FROM TABLE salesdb.order_view FOR ACCOUNT tenant_b;
目标租户创建映射视图:
CREATE VIEW order_view FROM SHAREDATA sales_view_share;
之后即可直接查询:
SELECT * FROM order_view;
通过视图共享,可以隐藏底层复杂的数据模型,为业务提供统一的数据接口,进一步提升数据治理能力和数据服务能力。
4、公共元数据实现跨租户共享
数据分享不仅仅是 SQL 层面的能力,其背后依赖于 GCDW 的公共元数据管理机制。
当源租户创建数据共享后,系统会将共享信息统一维护在公共元数据中,包括:
- 数据分享定义
- 共享对象
- 授权租户
- 快照版本信息
- 映射关系等元数据
目标租户通过公共元数据发现可用的数据分享,再创建映射表完成数据访问。
整个过程中,仅共享元数据和访问权限,不传输业务数据,既保证了租户之间的数据隔离,又实现了高效的数据共享。
5、查询体验与本地表一致
对于业务开发人员而言,数据共享几乎没有学习成本。
完成映射后,共享数据与普通数据表没有任何区别:
SELECT customer_id, SUM(amount) FROM orders
GROUP BY customer_id;
开发人员无需关心数据来自哪个租户,也无需了解底层数据访问方式,只需使用标准 SQL 即可完成分析,大大降低了跨租户数据使用门槛。

344

被折叠的 条评论
为什么被折叠?



