返回市场
数据迁移MCP

数据迁移MCP

作者:ajananth2 星标更新:2025-07-23

项目介绍

使用对话接口的数据迁移

传统的数据向云端迁移通常采用“举升并转移”的方法,这种方法需要大量的技术专长。虽然领域专家对数据的商业价值有深入的理解,但他们往往面临获取必要的工具或技术专长的挑战,这些工具和技术专长是用于迁移特定数据集以生成洞察所必需的。

本项目提出了一种模式,通过利用模型上下文协议(MCP)服务器和Microsoft Fabric,使领域专家能够通过对话接口进行选择性数据迁移。这种方法将数据迁移从一个技术障碍转变为一个直观、面向业务用户的流程,同时保持数据治理并加速洞察时间。

特点

  • 对话式数据发现:使用自然语言来识别和探索数据实体
  • 无缝云迁移:自动化的迁移过程,保留数据完整性
  • 数据整合:将多个数据源合并成统一的数据集
  • 交互式查询:通过对话接口查询和分析已迁移的数据

架构

系统架构展示了数据迁移和对话交互的端到端流程:

架构图

过程

预备条件

  • 访问JDBC兼容的源数据库
  • 访问Microsoft Fabric工作区以创建Lakehouse及数据代理

设置

  1. 设置源数据库:可以使用像Oracle或PostgreSQL这样的JDBC兼容数据库作为源。在scripts/create_employee_table.sql中提供了一个用于在Oracle数据库中创建表并添加一些示例数据的脚本。

  2. 设置Quarkus MCP服务器用于JDBC:按照Quarkus MCP JDBC服务器中的设置说明配置JDBC MCP服务器以实现数据库连接。如果你使用的是VS Code与GitHub Copilot作为MCP客户端,请在VS Code中设置配置。

  3. 下载并配置OneLake文件浏览器:从Microsoft下载中心下载OneLake文件浏览器,并将其配置为连接到你的Microsoft Fabric工作区。这将使本地环境与Microsoft Fabric Lakehouse之间的数据移动变得无缝。

使用

  1. 数据发现:使用你的MCP客户端(例如VS Code与GitHub Copilot或Claude Desktop)通过对话查询来探索数据源。开始时可以询问诸如“数据库中有哪些表?”的问题。如果你使用提供的脚本创建了员工表,其表结构如下所示:

    Oracle表结构

  2. 提取数据:注意员工表包含一个salary列,出于隐私或合规性的原因,我们将在迁移过程中排除该列。使用prompts/extract_data.txt中提供的提示来提取所有员工信息,同时排除工资详情。请注意,数据可以被提取为一个文件,放置在Fabric Lakehouse的Files文件夹中,这将自动同步到Microsoft Fabric。包含此数据的样本CSV文件可以在files/empdata.csv中找到。下面是一个使用VS Code与GitHub Copilot(Claude Sonnet 4)进行此过程的例子:

    GitHub Copilot迁移示例

  3. 合并数据集:一旦信息可用在Fabric Lakehouse中,可以将其与其他数据实体结合以生成更深层次的洞察。如果你使用的是员工数据集,可以在files/deptloc.csv中找到包含部门位置的文件,可用于将员工链接到位置。在Fabric Lakehouse中,表格看起来如下:

    Fabric Lakehouse

  4. 构建对话接口:为了将整合的数据集暴露为对话接口,以便领域专家可以用自然语言进行查询,可以在Microsoft Fabric中使用创建Fabric数据代理中的说明创建数据代理。如果你使用上述数据集,可以使用prompts/data_agent.txt中提到的样本说明。这里显示了一个截图:

    数据代理说明

  5. 用自然语言查询:领域专家现在可以使用自然语言查询整合的数据集。在下面的例子中,代理被问了一个需要从两个表中组合信息的问题。图像包含了代理的输出以及它在后台生成的SQL查询,该查询将表连接在一起。

    数据代理输出

结论

这种模式展示了如何通过对话接口改变传统的数据迁移过程,使其对领域专家来说无需深厚的技术专长即可访问。通过结合MCP服务器的力量与Microsoft Fabric的云原生数据平台,组织可以:

  • 普及数据迁移:让业务用户通过自然语言交互来识别、提取和迁移相关数据资产
  • 保持数据治理:实施选择性迁移策略,排除敏感信息的同时保留分析价值
  • 加速洞察时间:减少从多个来源在云端整合数据所需的复杂性和时间
  • 启用自助服务分析:为领域专家提供对话接口,让他们无需SQL知识即可查询和分析整合的数据集