从 Data Mesh 到 AI 卓越:在 Google BigQuery 上实现去中心化数据架构
Source: Dev.to
在生成式 AI 与大型语言模型(LLMs)的时代,数据的质量和可获取性已成为企业成功的主要差异化因素。然而,许多组织仍被过去的架构范式所束缚——集中式数据湖和数据仓库导致巨大的瓶颈、高延迟以及“数据沼泽”。
走向 Data Mesh
Data Mesh 最初由 Zhamak Dehghani 提出,是一种在复杂环境中共享、访问和管理分析数据的社会技术方法。当它与 Google BigQuery 的可扩展能力相结合时,就构建了 AI Excellence 的基础——数据被视为一等产品,随时可供机器学习模型和业务部门使用。
在本次技术深度探讨中,我们将研究如何在 Google Cloud 上构建 Data Mesh,利用 BigQuery 的独特特性推动去中心化的数据所有权和 AI‑ready 基础设施。
1. 架构转变:为何选择数据网格?
传统的数据架构通常是集中式的。一个数据工程团队负责整个公司的数据摄取、转换和分发。随着数据源和使用者数量的增长,这个团队会成为瓶颈。
数据网格的四大支柱
| Pillar | Description |
|---|---|
| Domain‑Oriented Decentralized Data Ownership | 最了解数据的团队(例如营销团队)拥有并管理这些数据。 |
| Data as a Product | 数据以服务水平协议(SLA)、文档和质量保证的形式交付给内部使用者。 |
| Self‑Serve Data Platform | 集中的基础设施团队提供工具(如 BigQuery),使各业务域能够自主管理数据。 |
| Federated Computational Governance | 通过自动化执行全局的安全性和互操作性标准。 |
对比概览:单体 vs. 网格
| Feature | Centralized Data Lake/Warehouse | Decentralized Data Mesh |
|---|---|---|
| Ownership | 中央数据团队 | 业务域(销售、HR 等) |
| Data Quality | 被动(由数据工程师修复) | 主动(由域所有者管理) |
| Scalability | 线性(会出现瓶颈) | 指数级(并行执行) |
| Access Control | 统一(往往过于宽松或严格) | 细粒度(域特定策略) |
| AI Readiness | 低(上下文孤立) | 高(上下文丰富的数据产品) |
2. 技术映射:在 BigQuery 上构建 Mesh
Google BigQuery 因为将存储和计算分离,使得不同项目能够在不进行物理复制的情况下共享同一数据,因而非常适合 Data Mesh。
核心组件
- BigQuery 数据集 – 充当数据产品的边界。
- Google Cloud 项目 – 作为领域环境的容器。
- Analytics Hub – 促进安全的跨组织数据共享。
- Dataplex – 为联邦治理和数据发现提供底层框架。
系统架构图
3. 实现域所有权和数据产品
在 Data Mesh 中,每个域管理自己的 BigQuery 项目,并负责其数据产品的完整生命周期:摄取、清洗和暴露。
定义数据产品
BigQuery 上的数据产品不仅仅是一个表;它包括:
- 原始数据 – 内部数据集。
- 清洗 / 聚合数据 – 公共数据集。
- 元数据 – 标签和描述。
- 访问控制 – IAM 角色。
代码示例:创建域特定的数据产品
-- Step 1: Create the dataset in the domain project
-- This acts as the container for our data product
CREATE SCHEMA `sales-domain-prod.customer_analytics`
OPTIONS(
location = "us",
description = "High‑quality customer lifetime value data for AI consumption",
labels = [("env", "prod"), ("domain", "sales"), ("data_product", "cltv")]
);
-- Step 2: Create a secure view to expose only necessary columns
-- This follows the principle of least privilege
CREATE OR REPLACE VIEW `sales-domain-prod.customer_analytics.cltv_gold` AS
SELECT
customer_id,
total_spend,
last_purchase_date,
predicted_churn_score
FROM
`sales-domain-prod.customer_analytics.raw_customer_data`
WHERE
is_verified = TRUE;
使用 IAM 自动化治理
# Assign the Data Owner role to the Sales Domain Team
gcloud projects add-iam-policy-binding sales-domain-prod \
--member="group:sales-data-leads@example.com" \
--role="roles/bigquery.dataOwner"
# Assign the Data Viewer role to the AI/ML Consumer Service Account
gcloud projects add-iam-policy-binding sales-domain-prod \
--member="serviceAccount:ml-engine@ai-consumer-project.iam.gserviceaccount.com" \
--role="roles/bigquery.dataViewer"
4. 使用 Google Dataplex 的联邦治理
治理在数据网格中不能是手动的。Google Dataplex 自动化元数据收集、数据质量检查以及跨所有域项目的血缘追踪。
治理的数据流
(将占位符 URL 替换为实际的图片链接。)
数据质量检查(“质量评分”指标)
为了确保 AI 模型不会在垃圾数据上进行训练,各域必须定义质量规则。Dataplex 让我们能够运行基于 YAML 的数据质量检查。
# Dataplex Data Quality Rule Example
rules:
- column: customer_id
dimension: completeness
threshold: 0.99
expectation_type: expect_column_values_to_not_be_null
- column: total_spend
dimension: validity
expectation_type: expect_column_values_to_be_between
params:
min_value: 0
max_value: 1_000_000
5. 从 Mesh 到 AI:为 Vertex AI 提供动力
一旦 Data Mesh 建立,AI 团队就不再需要将 80 % 的时间花在寻找和清洗数据上。他们可以 shop 数据于 Analytics Hub,并直接将其连接到 Vertex AI。
与 Vertex AI Feature Store 的无缝集成
BigQuery 充当 Vertex AI 的离线存储。由于数据已经组织为面向领域的产品,创建特征集只需进行一次元数据映射。
代码示例:在 Mesh 数据上训练模型
-- Training a Churn Prediction Model using the Sales Domain Data Product
CREATE OR REPLACE MODEL `ai-consumer-project.models.churn_predictor`
OPTIONS(
model_type = 'logistic_reg',
input_label_cols = ['churned']
) AS
SELECT
* EXCEPT(customer_id)
FROM
`sales-domain-prod.customer_analytics.cltv_gold` AS data_product
JOIN
`marketing-domain-prod.engagement.user_activity` AS activity_product
ON
data_product.customer_id = activity_product.user_id;
这段 SQL 突显了 Data Mesh 的威力:AI 使用者能够无缝地连接两个不同的数据产品(销售和营销),因为它们遵循全局的命名和身份标准。
6. 实施策略:分阶段方法
向数据网格转型既是文化的变革,也是技术的升级。请遵循以下路线图:
| 阶段 | 时间线 | 目标 |
|---|---|---|
| 阶段 1:识别 | 第1‑2个月 | 确定2‑3个试点业务领域(例如,销售、物流),并定义它们的数据产品边界。 |
| 阶段 2:平台搭建 | 第3‑4个月 | 部署 BigQuery、Dataplex 和 Analytics Hub。使用 Terraform 创建“自助服务”模板。 |
| 阶段 3:治理自动化 | 第5‑6个月 | 实现自动化的数据质量检查和目录编制。制定全局标签标准。 |
| 阶段 4:AI 扩展 | 第6个月起 | 使机器学习团队能够通过 Vertex AI 和 BigQuery ML 使用数据产品。 |
7. 挑战与缓解措施
| 挑战 | 描述 | 缓解措施 |
|---|---|---|
| 互操作性 | 各业务域对同一客户使用不同的 ID。 | 强制实施主数据管理(MDM)全局维度集。 |
| 成本管理 | 分散的团队可能在 BigQuery 插槽上超支。 | 对每个项目/业务域使用 BigQuery 预留和配额。 |
| 技能差距 | 业务域团队可能缺乏数据工程专业知识。 | 提供功能强大的“自助”平台和易用的模板。 |
结论:网格作为 AI 加速器
在 BigQuery 上构建数据网格的终极目标是实现智能的民主化。通过去中心化数据所有权,我们确保最贴近业务逻辑的人负责数据完整性。通过集中治理和工具,我们使数据易于发现、安全,并为下一代 AI 做好准备。
构建数据网格不是一蹴而就的过程,但对于希望将 AI 从原型阶段扩展的组织来说,这是唯一可行的道路。先从小处着手,将数据视为产品,让 BigQuery 的基础设施处理规模扩展,而各业务域负责交付价值。
进一步阅读与资源
- Google Cloud Dataplex Documentation –
- Zhamak Dehghani’s Data Mesh Architecture –
- BigQuery Analytics Hub Best Practices –
关注作者获取更多技术指南
- Twitter/X –
- LinkedIn –
- GitHub –

