用 Git 操作的数据库?这个项目火了!
# 用 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 的热门应该能够帮助更多同学了解和使用这类系统,我还是很期待他的发展。
️ 项目地址:https://mp.weixin.qq.com/s/Ax5iLOtSoeyQEaUk0oPWtg
用 Git 操作的数据库?这个项目火了!的更多相关文章
- EF6操作Sqlite数据库的项目兼容性问题
vs2010无法正确打开2015创建的项目里面操作Sqlite数据库时使用EF6创建的edmx文件(会显示空白) 但是可以正常查询 vs2015无法正确打开2010创建的项目里面操作Sqlite数 ...
- EF操作sqlite数据库时的项目兼容性问题
问题:vs2015打不开vs2010建的操作sqlite的实体数据模型edmx文件 原因: 当前电脑必须先安装:驱动库及sqlite的vs拓展 正常情况下安装驱动和拓展后,vs2015就应该可以正常打 ...
- git操作常用命令
一.使用git 1.git是什么? Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己 ...
- 连接Linux服务器操作Oracle数据库
连接Linux服务器操作Oracle数据库 由于项目已经上线,现场的数据库服务器不允许直接用Oracle的客户端plsqldev.exe来连接,只能通过Linux服务器的命令来操作. 以下是用Se ...
- python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作
python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...
- python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战
python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...
- idea git操作 -- 已有项目添加到git
我们在使用git时,如果是先从git克隆项目,然后配置项目运行没问题,如果将已有项目添加到git,则项目环境还是提交不了git,还需要到克隆的仓库文件夹打开项目去操作git,如果有有类型情况可按照如下 ...
- 数据库web项目对数据库的操作
1.0.JSTL与jsp实现对数据库的操作 MySql 数据库: create database if not exists CommodityDB; use CommodityDB; drop ta ...
- Git操作指令进阶
注意: 学习前请先配置好Git客户端 相关文章:Git客户端图文详解如何安装配置GitHub操作流程攻略 官方中文手册:http://git-scm.com/book/zh GIT 学习手册简介 本站 ...
- Myeclipse10.7安装git插件并将Java项目上传到码云(github)
注:本文来源:外匹夫的<Myeclipse10.7安装git插件并将Java项目上传到码云(github)> 一.先说说安装egit插件的步骤(安装egit不成功的原因主要是下载的egit ...
随机推荐
- PageOffice在线打开office文件添加盖章没反应或者提示本地服务ZSCService 可能未启动(系统无法找到指定的资源。)
盖章无反应 1.在控制面板的程序功能里面卸载印章客户端,然后重新打开文件,根据提示安装印章客户端sealsetup.exe,重新盖章试试. (注意:安装卸载的时候,先关闭所有的浏览器和所有的offic ...
- MATLAB txt文件抽稀并分为多个txt文件
chouxi.m a = load("file.txt"); % len = length(a); interval = 9;%间隔+1 b = a(1:interval:end, ...
- 【论文阅读】VulCNN受图像启发的可扩展漏洞检测系统
基本信息 摘要 由于深度学习(DL)可以自动从源代码中学习特征,因此已被广泛用于源代码漏洞检测.为了实现可扩展的漏洞扫描,一些先前的研究打算通过将源代码视为文本来直接处理源代码.为了实现准确的漏洞检测 ...
- 我对asp.net管道模型的理解
参考:http://www.tracefact.net/tech/001.htmlhttps://www.xuebuyuan.com/zh-hant/470245.html我们的web程序被iis启动 ...
- UINavgationBar事件穿透
一.事件起因 最近在开发一版本的需求中,遇到一个问题,需要在一个ViewController的顶部,UINavgationBar的下面放置一个View,这个View需要能够正常收到事件 将我们的Vie ...
- js 实现简易时钟效果
大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...
- Spring AOP 中@Pointcut的用法(多个Pointcut)
Spring AOP 中@Pointcut的用法(多个Pointcut) /** swagger切面,分开来写 **/ @Aspect @Component public class ApiOpera ...
- Unity下简易字符串指令调试
Unity下简易字符串指令调试 输入相应的字符串命令即可调用特定的方法,比如让角色等级提升,生成特定数量的Boss等 using System; using UnityEngine; using Sy ...
- Jmeter自动录制脚本
1.Jmeter配置 1.1新增一个线程组 1.2Jmeter中添加HTTP代理 1.3配置HTTP代理服务器 修改端口 修改Target Cintroller(目标控制器) 修改Grouping(分 ...
- 在Winform程序中动态绘制系统名称,代替图片硬编码名称
在以前我做程序的时候,一般在登录窗口里面显示程序名称,登录窗口一般设置一张背景图片,由于程序的名称一般都是确定的,所以也不存在太大的问题,不过如果客户定制不同的系统的时候,需要使用Photoshop修 ...