dolt 基於git協議的數據管理工具

dolt 基於git 協議提供了多版本,分支特性的數據管理工具,使用簡單,同時也提供了相似github 的一個雲服務linux

安裝

使用

  • init
dolt init

參考提示添加配置git

Could not determine user.name. Use the init parameter --name "FIRST LAST" to set it for this repo, or dolt config --global --add user.name "FIRST LAST"
usage: dolt init [<options>] [<path>]
Specific dolt init options
    --name=<name>
      The name used in commits to this repo. If not provided will be taken
      from "user.name" in the global config.
    --email=<email>
      The email address used. If not provided will be taken from
      "user.email" in the global config.
 
 
dolt config --global --add user.name "dalong"
dolt config --global --add user.email "1141591465@qq.com"

從新運行效果github

dolt init 
Successfully initialized dolt data repository.

目錄結構golang

tree .dolt 
.dolt
├── config.json
├── noms
├── 4bujnjuatdli0klda7ucot0tl836jujt
├── LOCK
├── imfkg6k82o3lajgqh297rf1keldounr7
├── manifest
├── obi3h4k8ci1l3rdqq746ncs893dgptfl
└── u1jpqa68sgephuj7q2r0bdie06ctdm20
└── repo_state.json
1 directory, 8 files
 
 
  • 添加sql支持
dolt sql -q "create table state_populations ( state varchar, population int, primary key (state) )"
dolt sql -q "show tables"

效果sql

+-------------------+
| tables |
+-------------------+
| state_populations |
+-------------------+
 
 
  • 插入數據
dolt sql -q 'insert into state_populations (state, population) values
("Delaware", 59096),
("Maryland", 319728),
("Tennessee", 35691),
("Virginia", 691937),
("Connecticut", 237946),
("Massachusetts", 378787),
("South Carolina", 249073),
("New Hampshire", 141885),
("Vermont", 85425),
("Georgia", 82548),
("Pennsylvania", 434373),
("Kentucky", 73677),
("New York", 340120),
("New Jersey", 184139),
("North Carolina", 393751),
("Maine", 96540),
("Rhode Island", 68825)'
 
 
  • 查詢
dolt sql -q "select * from state_populations where state = 'New York'"

效果json


+----------+------------+
| state | population |
+----------+------------+
| New York | 340120 |
+----------+------------+
 
 
  • git 方式 提交操做
first dolt add .
first dolt commit -m "init demo"
commit 1j1o30pvevn6ldbpg2jeu43i7uu6b3pj
Author: dalong <1141591465@qq.com>
Date: Sun Oct 27 11:06:57 +0800 2019
 init demo
first dolt status
On branch master
nothing to commit, working tree clean

說明

以上是一個簡單的操做,實際上dolt 支持了方便的數據導入,數據更新功能,功能操做和git 一直,源碼基於golang 編寫,能夠學習下源碼ide

參考資料

https://github.com/liquidata-inc/dolt工具

相關文章
相關標籤/搜索