1
1
---
2
- title : Databend 免拷贝数据共享的工作原理
2
+ title : Databend 免拷贝数据共享(Data Sharing)工作原理
3
3
---
4
4
5
5
## 什么是数据共享?
6
6
7
- 不同团队需要相同数据的不同部分。传统解决方案需要多次复制数据,成本高昂且难以维护 。
7
+ 不同团队需要相同数据的不同部分。传统解决方案需要多次复制数据,导致成本高昂且难以维护 。
8
8
9
- Databend 的 ** [ ATTACH TABLE] ( /sql/sql-commands/ddl/table/attach-table ) ** 优雅地解决了这个问题:为同一份数据创建多个视图而无需复制 。这利用了 Databend 的** 真正存储计算分离 ** 架构——无论使用云存储还是本地对象存储: ** 存储一次,随处访问** 。
9
+ Databend 的 ** [ ATTACH TABLE] ( /sql/sql-commands/ddl/table/attach-table ) ** 优雅地解决了这一问题:为相同数据创建多个“视图”而无需复制 。这利用了 Databend 的** 真正计算存储分离 ** 架构——无论使用云存储还是本地对象存储,都能实现 ** 存储一次,随处访问** 。
10
10
11
- 可以将 ATTACH TABLE 想象成计算机快捷方式——它们指向原始文件而不复制文件 。
11
+ 可以将 ATTACH TABLE 类比为计算机快捷方式——它指向原始文件而不复制文件 。
12
12
13
13
```
14
- 对象存储( Object Storage) (S3, MinIO, Azure 等 )
14
+ Object Storage (S3, MinIO, Azure, etc. )
15
15
┌─────────────┐
16
- │ 您的数据 │
16
+ │ Your Data │
17
17
└──────┬──────┘
18
18
│
19
19
┌───────────────────────┼───────────────────────┐
20
20
│ │ │
21
21
▼ ▼ ▼
22
22
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
23
- │ 营销团队 │ │ 财务团队 │ │ 销售团队 │
24
- │ 视图 │ │ 视图 │ │ 视图 │
23
+ │ Marketing │ │ Finance │ │ Sales │
24
+ │ Team View │ │ Team View │ │ Team View │
25
25
└─────────────┘ └─────────────┘ └─────────────┘
26
26
```
27
27
@@ -30,34 +30,34 @@ Databend 的 **[ATTACH TABLE](/sql/sql-commands/ddl/table/attach-table)** 优雅
30
30
** 步骤 1:查找数据位置**
31
31
``` sql
32
32
SELECT snapshot_location FROM FUSE_SNAPSHOT(' default' , ' company_sales' );
33
- -- 结果: 1/23351/_ss/... → 数据位于 s3://your-bucket/1/23351/
33
+ -- Result: 1/23351/_ss/... → Data at s3://your-bucket/1/23351/
34
34
```
35
35
36
36
** 步骤 2:创建团队特定视图**
37
37
``` sql
38
- -- 营销:客户行为分析
38
+ -- Marketing: Customer behavior analysis
39
39
ATTACH TABLE marketing_view (customer_id, product, amount, order_date)
40
40
' s3://your-bucket/1/23351/' CONNECTION = (ACCESS_KEY_ID = ' xxx' , SECRET_ACCESS_KEY = ' yyy' );
41
41
42
- -- 财务:收入跟踪
42
+ -- Finance: Revenue tracking
43
43
ATTACH TABLE finance_view (order_id, amount, profit, order_date)
44
44
' s3://your-bucket/1/23351/' CONNECTION = (ACCESS_KEY_ID = ' xxx' , SECRET_ACCESS_KEY = ' yyy' );
45
45
46
- -- 人力资源:员工信息(不含薪资)
46
+ -- HR: Employee info without salaries
47
47
ATTACH TABLE hr_employees (employee_id, name, department)
48
48
' s3://data/1/23351/' CONNECTION = (...);
49
49
50
- -- 开发:生产结构(不含敏感数据)
50
+ -- Development: Production structure without sensitive data
51
51
ATTACH TABLE dev_customers (customer_id, country, created_date)
52
52
' s3://data/1/23351/' CONNECTION = (...);
53
53
```
54
54
55
55
** 步骤 3:独立查询**
56
56
``` sql
57
- -- 营销分析趋势
57
+ -- Marketing analyzes trends
58
58
SELECT product, COUNT (* ) FROM marketing_view GROUP BY product;
59
59
60
- -- 财务跟踪利润
60
+ -- Finance tracks profit
61
61
SELECT order_date, SUM (profit) FROM finance_view GROUP BY order_date;
62
62
```
63
63
@@ -66,14 +66,14 @@ SELECT order_date, SUM(profit) FROM finance_view GROUP BY order_date;
66
66
** 实时更新** :当源数据发生变化时,所有附加表都能立即看到更新。
67
67
``` sql
68
68
INSERT INTO company_sales
VALUES (
1001 ,
501 ,
' Laptop' ,
1299 .
99 ,
299 .
99 ,
' [email protected] ' ,
' 2024-01-20' );
69
- SELECT COUNT (* ) FROM marketing_view WHERE order_date = ' 2024-01-20' ; -- 返回: 1
69
+ SELECT COUNT (* ) FROM marketing_view WHERE order_date = ' 2024-01-20' ; -- Returns: 1
70
70
```
71
71
72
- ** 列级安全性 ** :团队只能看到他们需要的内容——营销团队看不到利润,财务团队看不到客户邮箱 。
72
+ ** 列级安全 ** :团队只能看到各自需要的内容——营销团队无法看到利润,财务团队无法看到客户邮箱 。
73
73
74
- ** 强一致性** :永远不会读取部分更新,始终看到完整快照——非常适合财务报告和合规性要求 。
74
+ ** 强一致性** :永远不会读取部分更新,始终访问完整快照——非常适合财务报告和合规要求 。
75
75
76
- ** 完整性能** :所有索引(Index)自动生效,性能与常规表相同 。
76
+ ** 完整性能** :所有索引(Index)自动生效,与常规表速度相同 。
77
77
78
78
## 为什么这很重要
79
79
@@ -88,7 +88,7 @@ SELECT COUNT(*) FROM marketing_view WHERE order_date = '2024-01-20'; -- 返回
88
88
## 底层工作原理
89
89
90
90
```
91
- 查询( Query): SELECT product, SUM(amount) FROM marketing_view GROUP BY product
91
+ Query: SELECT product, SUM(amount) FROM marketing_view GROUP BY product
92
92
93
93
┌─────────────────────────────────────────────────────────────────┐
94
94
│ 查询执行流程 │
@@ -130,6 +130,6 @@ SELECT COUNT(*) FROM marketing_view WHERE order_date = '2024-01-20'; -- 返回
130
130
结果:产品销售摘要
131
131
```
132
132
133
- 多个 Databend 集群可以同时执行此流程而无需协调——真正的存储计算分离在实际应用中的体现 。
133
+ 多个 Databend 集群可以同时执行此流程而无需协调——这是真正计算存储分离的实际体现 。
134
134
135
- ATTACH TABLE 代表了一个根本性转变:** 从为每个用例复制数据转向一个副本多个视图 ** 。无论在云环境还是本地环境中,Databend 的架构都能实现强大、高效的数据共享,同时保持企业级的一致性和安全性 。
135
+ ATTACH TABLE 代表了一个根本性转变:** 从为每个用例复制数据转变为单一副本支持多个视图 ** 。无论在云环境还是本地环境中,Databend 的架构都能实现强大、高效的数据共享,同时保持企业级一致性和安全性 。
0 commit comments