用 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 ...
随机推荐
- 搭建一套完整的ELK系统
ELK日志收集系统介绍 一 简单介绍 ELK部署搭建有很多成型的方案,这里推荐一种比较中规中矩的方案,它整合了logstash比较消耗资源以及当服务端临时宕机的时候出现数据丢失的问题,主要由fi ...
- mews/captcha 验证码组件
/** * 图像验证码 */ public function captcha(CaptchaBridge $captcha, $type = 'default') { $api_captcha = $ ...
- Linux运维面试总结
1.Linux系统相关日志 /var/log/message:系统信息日志,包含错误信息 /var/log/secure:系统登录日志 /var/log/maillog:邮件日志 /var/log/c ...
- 将.net core api 部署成windows服务
将.net core api 部署成windows服务 参考 https://blog.csdn.net/qq_38762313/article/details/103311944 将NSSM解压 ...
- 8.10考试总结(NOIP模拟35)[玩游戏·排列·最短路·矩形]
所谓人,无论是谁到了最后,都会形单影只. T1 玩游戏 解题思路 可以把序列从 k 位置掰成两个序列. 问题就变成了两个序列从开头走向末尾是否可以保证前缀和之和一直不大于 0 . 并且可以移动到两个序 ...
- [SHOI2011]双倍回文 题解
[SHOI2011]双倍回文 题解 看了一些写回文自动机的大佬的代码,我深感敬畏,于是我转身向Manacher走去 现在荣登最优解第一页-- 说实话,这个方法的复杂度是很玄学的,但是加了一些优化之后, ...
- 推荐一款免费的终端工具-Windterm
Windterm 提到SSH终端工具,大家一定会想到putty.xshell.MobaXterm这些产品.但是当我使用Windterm后,我彻底改变了我对之前使用SSH终端工具的认知,其强大的能力,彻 ...
- 鸿蒙HarmonyOS实战-窗口管理
前言 窗口管理是指计算机操作系统中管理和控制窗口的一种机制.窗口管理器负责处理窗口的创建.关闭.移动.调整大小等操作,并且决定窗口的位置.层级.是否可见.是否接收用户输入等属性.窗口管理器还负责绘制窗 ...
- 项目管理--PMBOK 读书笔记(13)【项目相关方管理】
1.相关方分矩阵 工具与技术 核查表 又叫检查表,计数表,收集属性数据,解决问题. 焦点小组&访谈: 特点:慢,焦点小组是一对多,访谈时多对多. 抽样统计&控制图: 控制图反应 ...
- Spring源码——详细流程图(超详细)
Spring源码流程图