动态

详情 返回 返回

Git for Data:像Git一樣管理你的數據 - 动态 详情

1.gif
作者 | 矩陣起源
策劃 | InfoQ李冬梅

當你的 AI Agent 突然清空核心數據庫,或是悄悄注入虛假數據時,傳統的數據恢復手段往往耗時費力。而 Git for Data 帶來的變革,能讓這一切像回滾代碼提交一樣簡單。

DATA-CTL RESET DATABASE `agent1_db` TO TIMESTAMP 2025-08-01 12:00:00.123456;

瞬間數據回滾到指定時間點。這就是 Git for Data 的魔力——版本控制、快速回滾、分支、合併、追蹤變更,AI 時代的數據管理新範式。

2.png
傳統數據庫處理事務性業務(如交易記錄、通話詳單)時,數據管理主要面向 TP(事務處理)和 AP(分析處理)場景。這些場景下,數據版本管理需求較弱,通常只需通過定期備份/恢復或快照來保障數據安全。然而,隨着 AI 研發的深入,數據本身已成為研發對象——從數據標註、特徵工程到合成數據(synthetic data)生成,研發團隊需要像對待代碼一樣對數據進行版本控制、分支管理和協作開發。這種數據研發工作流,天然契合 Git 式的版本管理範式。

為什麼 AI 需要 Git for Data

對抗幻覺

幻覺預防: 通過數據版本控制,提升數據質量,減少幻覺發生。

幻覺後果修復: 幻覺很難避免,通過數據版本控制,可以快速回滾到指定版本,修復幻覺後果。之後也可以通過錯誤版本進行溯源分析,避免類似錯誤再次發生。

數據溯源

版本控制: 通過版本控制系統,可以清晰地追溯到每個版本的變更,支持跨時間、跨團隊的協作,確保數據、模型和代碼的更新歷史可追溯。

數據一致性: 每個階段的數據都可以被標記為特定版本,使得不同階段的數據可以無縫對接,避免數據漂移,並確保結果的可復現性。

溯源效率: 當出問題時,能夠像代碼回溯一樣迅速定位到數據問題,提升錯誤修復的效率。

研究和開發效率: 變更歷史能夠幫助理解每個步驟的影響,提升研究和開發效率。

數據共享

團隊協作: 通過版本控制,可以方便地進行團隊協作,比如多人協作開發一個模型,或者多人協作開發一個數據集。

提升數據質量: 通過數據版本迭代,可以方便地進行數據質量的提升,比如數據清洗、數據增強等。有過代碼迭代經驗的人都知道,代碼迭代對於提升代碼質量有多重要。

數據安全

分支隔離: 通過分支隔離,可以方便地進行數據隔離。

權限控制: 通過版本控制,可以方便地進行權限控制,比如只允許特定用户訪問特定版本的數據。

審計: 變更可回溯,可審計。

測試與發佈

線上調試: 追溯到問題數據版本,切出調試數據分支,在完全隔離的沙箱環境中進行調試。

3.png

CI 測試: 輕鬆創建和管理多個測試環境,每個環境都有自己的數據版本。也支持多版本並行測試。

4.png

業務發佈與回滾: 可以實現數據版本與代碼版本同步發佈。遇到問題時,可以快速回滾到指定版本。

5.png

怎樣支撐 Git for Data 能力

版本控制

粒度控制: TABLE|DATABASE|TENANT|CLUSTER 級別的回滾成本差異巨大。更細粒度的回滾成本更低,影響範圍更小。比如 Agent 只對某張表有寫權限,那麼只需要回滾該表。

6.png

恢復窗口(Recovery Window): 幻覺的不可預測性,恢復窗口很難確定。一般而言,恢復窗口越長,恢復時間越長或成本越高。想要修復幻覺後果,需要支持很長的恢復窗口,同時要支持秒級恢復。在保障這兩個需求的前提下,控制成本。

數據快照(Snapshot): 支持創建數據快照,可以方便地進行數據版本管理。

CREATE SNAPSHOT db1_ss_v1 FOR DATABASE db1;
CREATE SNAPSHOT db1_t1_ss_v1 FOR TABLE db1.t1;

版本比較(Diff): 支持版本之間相互比較,能夠快速定位到差異,幫助理解每個步驟的影響。也是實現數據溯源的基礎。

7.png

數據克隆(Clone): 支持數據克隆,可以方便地進行數據克隆。克隆的成本要低,延遲極小。

CREATE TABLE `db1.table2` CLONE FROM `db1.table1`;

數據分支(Branch): 支持數據分支,可以方便地進行數據隔離。創建刪除分支的成本要低,延遲極小。

CREATE TABLE `db1.table2` BRANCH `branch1` FROM TABLE `db1.table1` {SNAPSHOT = 'V2'};
INSERT INTO `db1.table2` (col1, col2) VALUES (1, 'a');

8.png

數據回滾(Reset): 支持數據回滾,方便快速地進行數據回滾。

RESTORE DATABASE `db1` FROM SNAPSHOT `db1_ss_v1`;
DATA-CTL RESET DATABASE `db1` TO TIMESTAMP 2025-08-01 12:00:00.123456;
DATA-CTL RESET TABLE `db1.table1` TO TIMESTAMP 2025-08-01 12:00:00.123456;
DATA-CTL RESET BRANCH `db1_dev` TO TIMESTAMP 2025-08-01 12:00:00.123456;

9.png

分支 Rebase: 支持分支 Rebase,方便快速合併分支。基於 Diff 能力。

數據合併(Merge): 支持數據合併,方便快速合併數據。基於 Diff 能力。

權限控制

細粒度權限控制: 支持細粒度權限控制,比如某 Agent 用户只能基於某個 TABLE 或 DATABASE 的某個版本進行操作。

10.png

跨租户權限控制: 支持跨租户權限控制,比如 acc1 租户可以將自己 db1.table1 的 v1 版本共享給 acc2 租户。acc2 租户可以基於 acc1 租户共享的 db1.table1 的 v1 版本創建新的分支或克隆數據。

11.png

存儲優化

CLONE: 並非數據冗餘複製,而是數據共享。成本低,延遲極小。

-- 表 `db1.table1` 數據量 100GB
CREATE TABLE `db1.table2` CLONE FROM `db1.table1`;
-- CLONE 延遲極小,因為數據共享,不需要複製數據。
-- 表 `db1.table2` 數據量 100GB,但實際存儲量只有 10GB,因為共享了 `db1.table1` 的 10GB 數據。

數據分支存儲: 子分支共享主版本數據並存儲差異數據。依賴 CLONE 能力。

-- 表 `db1.table1` 數據量 100GB
CREATE TABLE `db1.table2` BRANCH `branch1` FROM TABLE `db1.table1` {SNAPSHOT = 'V2'};
-- 表 `db1.table2` 數據量 100GB,但實際存儲量只有 10GB,因為共享了 `db1.table1` 的 10GB 數據。
-- BRANCH 底層依賴 `CLONE` 能力。對比 `CLONE`,多了 `BRANCH` 的操作管理,為分支管理提供支持。

恢復窗口優化:

12.png

對於 LSM-Tree 的存儲引擎,支持較長恢復窗口的快速恢復,是比較大的挑戰。

MatrixOne:雲原生超融合數據庫,AI 數據引擎的最佳選擇

MatrixOne 是一款從零研發的雲原生超融合數據庫,專為支撐雲環境下的現代數據密集型應用而設計,用於存儲結構化、半結構化和非結構化多模態數據,並支撐業務型系統、物聯網應用、大數據分析、GenAI 等多種應用負載。MatrixOne 兼容 MySQL 語法及協議,其超融合的特性可以讓企業開發大型複雜數據智能應用如同使用 MySQL 一樣簡單。

13.png

基於容器和共享存儲的雲原生化架構,MatrixOne 實現了靈活敏捷的極速啓動實例、自動彈性擴展、完全按量計費、毫秒級數據分支等功能,可以為新時代下 AI Agent 應用的開發、訓練和迭代提供前所未有的敏捷性、成本效益和可管理性。通過提供企業級的高可用、全面的安全與審計能力,MatrixOne 至今已經服務了 StoneCastle、中移物聯、安利紐崔萊、江西銅業、徐工漢雲等各行業龍頭企業。

MatrixOne 數據庫與 Git for Data 的結合

MatrixOne 已具備 Git for Data 的核心能力,包括:

  • 快速創建和刪除快照: CLUSTER|TENANT|DATABASE|TABLE 的快照
  • 數據版本的權限管理: 支持各種粒度和範圍的權限控制
  • 自定義數據恢復窗口: 支持自定義數據恢復窗口,支持海量數據秒級恢復
  • 快速低成本數據克隆: 支持海量數據毫秒級克隆,支持跨租户數據克隆
  • 支持數據共享: 支持跨租户數據共享
  • 版本數據 Diff: 目前只支持同表多版本數據在恢復窗口內的 Diff 能力

未來,MatrixOne 將持續增強以下能力,以支持 Git for Data 的完整特性:

  • 數據分支管理: 像 Git 一樣,支持數據分支管理,支持數據分支的創建、刪除、切換、合併等操作
  • 數據完整的 Diff 能力
  • 存儲優化: 作為 LSM-Tree 的存儲引擎,降低長恢復窗口的存儲成本
  • 功能整合: 提供較好的產品體驗

結語

Git for Data 代表了一種數據管理的革命性範式,它有機融合了聲明式數據管理和數據即代碼的先進理念,同時引入了類似 Git 的強大版本控制能力。這種創新架構從根本上改變了數據管理的方式,使其變得更加靈活、可控且高效。

這一技術範式為解決現代 AI 系統中的複雜數據挑戰提供了全新思路。它不僅能夠有效保障數據質量和安全性,還能顯著提升數據一致性和開發效率。通過 Git for Data,數據管理實現了質的飛躍——從靜態存儲轉變為動態治理,使數據能夠像代碼一樣實現精確的版本追溯、高效協作、即時回滾和可靠恢復。

展望未來,採用 Git for Data 將帶來多重價值:它不僅優化了數據管理流程,更為重要的是,它為 AI 和大數據領域的研究與應用奠定了更高效、更精確的基礎。這種轉變使得數據管理不再是制約創新的技術瓶頸,而是成為推動技術進步的關鍵賦能者,為各行業的數字化轉型提供堅實支撐。

user avatar xzqcsj 头像 aloudata 头像 openfuyao 头像 k21vin 头像 u_16640205 头像 RCJL 头像 u_15316473 头像 sovitjs 头像 zyx178 头像 u_16827017 头像 huikaichedemianbao 头像 aijianshendexuegao 头像
点赞 51 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.