1

15231181628

V1

2022/07/24阅读:14主题:默认主题

可使用 git 操作的数据库 dolt

可使用 git 操作的数据库 dolt

什么是 dolt?

Dolt 是一个 SQL 数据库,您可以像 git 存储库一样分叉、克隆、分支、合并、推送和拉取。像任何 MySQL 数据库一样连接到 Dolt 以使用 SQL 命令运行查询或更新数据,使用 Golang 语言编写。

它与 MySQL 关系型数据库一样,具有表、视图等概念,支持数据的增删改查等操作。并且它提供了一个命令行工具,完美支持所有的 git 命令。

快速使用

  • 安装最新版 polt

或者下载二进制,并加入到 PATH 中

sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'
  • 配置 dolt

配置用户名和邮箱,与 git 配置类似

dolt config --global --add user.email YOU@DOMAIN.COM
dolt config --global --add user.name "YOUR NAME"
image-20220718105123725
  • 设置数据存储目录
mkdir -p test/dolt
cd test/dolt
  • 启动 sql-server 服务
dolt sql-server
  • 使用 sql-client 连接到 sql 服务

NOTICE: Dolt 同样支持任何与 MySQL 兼容的客户端,Dolt 也附带一个客户端。

dolt sql-client
  • 创建数据库以及表
create database getting_started;
use getting_started;
create table employees (
    id int, 
    last_name varchar(255), 
    first_name varchar(255), 
    primary key(id));
image-20220718111113870
  • 提交初始化表
call dolt_add('employees');
call dolt_commit('-m''Created initial schema');
image-20220718111434369
  • 插入数据并查看表状态
insert into employees values 
    (0, 'Sehn''Tim'), 
    (1, 'Hendriks''Brian'), 
    (2, 'Son','Aaron'), 
    (3, 'Fitzgerald''Brian');
select * from dolt_status;
  • 提交插入的数据并查看表状态
  • 对数据进行 reset 操作

模拟回滚的操作,如不小心把表删掉了,导致数据全部丢失,此时可以使用 reset 回滚数据。

drop table employees;
call dolt_reset('--hard');

总结

结合 mysql 与 git 的特性,dolt 可谓是想法新奇,提供了未来数据库的新思路。

参考链接


2022 GopherChina大会报名仍在火热进行中!Gopher们扫描下方二维码即可报名参与,还等什么!

大会合作、现场招聘及企业购票等事宜请联系微信:18516100522

分类:

后端

标签:

Golang

作者介绍

1
15231181628
V1