用 Git 操作的数据库?这个项目火了!
Git 是一个开源的分布式版本控制系统,可以敏捷高效地管理代码,让项目代码支持同时存在多个不同的版本和分支,是程序员在项目开发中的必备工具。
除了代码文件可以进行版本控制之外,数据其实也可以版本控制!
今天,Dolt 项目荣登 GitHub 趋势榜榜首,该仓库的介绍是 “Git for Data”,一个面向数据的 Git,目前已收获了几千个 star。
下面我们来简单了解下 Dolt 项目。
什么是 Dolt?
根据官方介绍,Dolt 是一个基于 Git 协议的开源 SQL 数据库,使用 Golang 语言编写。
首先它和 MySQL 关系型数据库一样,用于存储和管理数据,具有表、视图等概念,支持数据的增删改查等操作。
然而更棒的是,它提供了一个命令行工具,完美支持所有的 Git 命令,并且语法完全相同!允许用户像使用一个 git 仓库一样对数据进行 fork、clone、branch、merge、push 和 pull 等操作。
当你提交数据到存储库时,Dolt 会自动存储提交日志,比如本次修改的内容、作者、提交时间等,从而实现了对数据单元的版本控制,便于多人对数据进行协作和优化。
比如一个班的同学在使用公共数据做实验时,可能需要针对实验提供不同的数据,这个时候就可以用 Dolt 来进行数据的版本控制。
你还可以随时查看上次提交的数据与当前数据的区别,一旦有人不小心把公共数据改错了,发现当前数据有异常时,可以轻松地回滚和修复问题。
Dolt 简直就是 Git 和 MySQL 的孩子!
关于 Dolt 的使用方法,官方已经给了详细的教程,还是比较简单的。
DoltHub
就像 Git 拥有 GitHub 作为代码的开源远程托管平台一样,Dolt 官方也提供了相应的远程托管平台,即 DoltHub。
DoltHub 允许用户将自己的 Dolt 数据库免费托管到他们提供的云存储服务中,便于管理和协作。你可以像浏览 GitHub 一样浏览 DoltHub,在这里发现优秀的数据集,比如 Coronavirus(冠状病毒)、Google Open Images 等,拿去实验和数据分析都是极好的!
虽然数据版本控制的概念在很早之前就已经被提出和落地,但是 Dolt 的热门应该能够帮助更多同学了解和使用这类系统,我还是很期待他的发展。
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️