用 Git 操作的數(shù)據(jù)庫?這個項目火了!
Git 是一個開源的分布式版本控制系統(tǒng),可以敏捷高效地管理代碼,讓項目代碼支持同時存在多個不同的版本和分支,是程序員在項目開發(fā)中的必備工具。

除了代碼文件可以進(jìn)行版本控制之外,數(shù)據(jù)其實也可以版本控制!
今天,Dolt 項目榮登 GitHub 趨勢榜榜首,該倉庫的介紹是 “Git for Data”,一個面向數(shù)據(jù)的 Git,目前已收獲了幾千個 star。

下面我們來簡單了解下 Dolt 項目。
什么是 Dolt?
根據(jù)官方介紹,Dolt 是一個基于 Git 協(xié)議的開源 SQL 數(shù)據(jù)庫,使用 Golang 語言編寫。
首先它和 MySQL 關(guān)系型數(shù)據(jù)庫一樣,用于存儲和管理數(shù)據(jù),具有表、視圖等概念,支持?jǐn)?shù)據(jù)的增刪改查等操作。

然而更棒的是,它提供了一個命令行工具,完美支持所有的 Git 命令,并且語法完全相同!允許用戶像使用一個 git 倉庫一樣對數(shù)據(jù)進(jìn)行 fork、clone、branch、merge、push 和 pull 等操作。

當(dāng)你提交數(shù)據(jù)到存儲庫時,Dolt 會自動存儲提交日志,比如本次修改的內(nèi)容、作者、提交時間等,從而實現(xiàn)了對數(shù)據(jù)單元的版本控制,便于多人對數(shù)據(jù)進(jìn)行協(xié)作和優(yōu)化。

比如一個班的同學(xué)在使用公共數(shù)據(jù)做實驗時,可能需要針對實驗提供不同的數(shù)據(jù),這個時候就可以用 Dolt 來進(jìn)行數(shù)據(jù)的版本控制。

你還可以隨時查看上次提交的數(shù)據(jù)與當(dāng)前數(shù)據(jù)的區(qū)別,一旦有人不小心把公共數(shù)據(jù)改錯了,發(fā)現(xiàn)當(dāng)前數(shù)據(jù)有異常時,可以輕松地回滾和修復(fù)問題。

Dolt 簡直就是 Git 和 MySQL 的孩子!

關(guān)于 Dolt 的使用方法,官方已經(jīng)給了詳細(xì)的教程,還是比較簡單的。
DoltHub
就像 Git 擁有 GitHub 作為代碼的開源遠(yuǎn)程托管平臺一樣,Dolt 官方也提供了相應(yīng)的遠(yuǎn)程托管平臺,即 DoltHub。
DoltHub 允許用戶將自己的 Dolt 數(shù)據(jù)庫免費托管到他們提供的云存儲服務(wù)中,便于管理和協(xié)作。你可以像瀏覽 GitHub 一樣瀏覽 DoltHub,在這里發(fā)現(xiàn)優(yōu)秀的數(shù)據(jù)集,比如 Coronavirus(冠狀病毒)、Google Open Images 等,拿去實驗和數(shù)據(jù)分析都是極好的!

雖然數(shù)據(jù)版本控制的概念在很早之前就已經(jīng)被提出和落地,但是 Dolt 的熱門應(yīng)該能夠幫助更多同學(xué)了解和使用這類系統(tǒng),我還是很期待他的發(fā)展。
?? 點擊下方閱讀原文查看項目
往期推薦

