朋友,你听说过数据版本控制产品Dolt吗?

朋友,你听说过数据版本控制产品Dolt吗?全文共 1688 字 预计学习时长 8 分钟图源 unsplash 最近与同事的一段对话让我陷入思考 公司会议上同事问我 是否要使用某种数据版本控制 我以为他是在说代码版本控制 但 不是 是数据版本控制 我的同事坚持说 我未曾听过或想过数据版本控制 是否有提供数据版本控制的产品 推出这些产品是否有必要呢 我在谷歌上搜索到许多数据版本控制产品 但最吸引我眼

全文共1688字,预计学习时长8分钟

 

朋友,你听说过数据版本控制产品Dolt吗?

图源:unsplash

 

最近与同事的一段对话让我陷入思考。公司会议上同事问我:“是否要使用某种数据版本控制?”我以为他是在说代码版本控制,但“不是,是数据版本控制”,我的同事坚持说。

 

我未曾听过或想过数据版本控制,是否有提供数据版本控制的产品?推出这些产品是否有必要呢?

 

我在谷歌上搜索到许多数据版本控制产品,但最吸引我眼球的产品是dolt。

 

什么是dolt?

 

Dolt是SQL数据库中数据体验的真正Git,为模式提供版本控制,并为数据提供单元级版本控制,这些都为了便于协作而不断优化。

 

使用Dolt可以查看上次接收的数据与这次接收的数据之间可读的diff区别。在部署新数据之前,可以很容易发现意外更新,并且修复问题。

 

作者们称这就像是数据的Git,是一个开源的SQL数据库,且带有Git样式的版本控制。在处理数据科学项目时,我们会自己将数据集版本化。很多时候并记不清v5和v6有什么区别。将代码提交到存储库时,Dolt会存储提交日志,从而易于返回并查看更改。

 

在哪里托管存储库?

 

就像GitHub之于Git,DoltHub之于Dolt也是如此。Dolthub只对Dolthub上公开的数据集免费。托管私人存储库的价格为每月50美元。

 

朋友,你听说过数据版本控制产品Dolt吗?

图源:unsplash

 

数据版本控制有哪些用例?

 

这也是我一直在问自己的问题。其指导性用例是在互联网上共享数据。Dolt可以用来共享数据库,包括模式和视图,可以删除用于传输数据的所有代码。

 

DoltHub的数据可以“先试后买”。人们可以在网页上运行SQL查询,查看数据是否符合需要。数据提供平台甚至可以构建示例查询来引导消费者的探索。通过提交日志,人们可以看到数据更新的频率,还可以看到谁更改了数据以及更改原因。

 

如何进行尝试?

 

朋友,你听说过数据版本控制产品Dolt吗?

图源:dolthub

 

DoltHub是免费的公共数据集,可以用谷歌帐户登录。笔者创建了一个新的名为iris的公共存储库。

 

朋友,你听说过数据版本控制产品Dolt吗?

图片:带有iris数据集的Dolthub

 

然后就可以像wit Git一样克隆版本库——一切都很熟悉。但是,在克隆repo之前,需要安装dolt CLI。开发人员考虑到这一点,所以把安装命令放在了克隆选项旁边。

 

sudo curl -Lhttps://github.com/liquidat

 

朋友,你听说过数据版本控制产品Dolt吗?

 

安装Dolt后,需要使用CLI工具登录,从而将密钥与帐户相关联。这将在网页浏览器中打开该页。

 

dolt login

 

现在就可以开始克隆存储库。

 

dolt clone romanorac/iris

 

把一些数据放进去。我从sklearn中获取了iris数据集,将其转换为pandas

 

import numpy as np import pandas as pd from sklearn import datasetsiris = datasets.load_iris() df = pd.DataFrame(data=np.c_[iris['data'], iris['target']], columns=iris['feature_names'] + ['target']) df.target = df.target.astype(int) df = df.reset_index()df = df.rename( columns={ 'index': 'identifier', 'sepal length (cm)':'sepal_length', 'sepal width (cm)':'sepal_width', 'petal length (cm)':'petal_length', 'petal width (cm)': 'petal_width' }) df.to_csv('~/Downloads/iris/iris.csv', index=False)

 

朋友,你听说过数据版本控制产品Dolt吗?

 

要将CSV文件放入Dolt,需要创建SQL表。

 

dolt sql -q "create tableiris ( identifier int, sepal_length float, sepal_width float,petal_length float,petal_width float, target int, primary key (identifier) )"

 

然后只需导入该表。

 

dolt table import -u-pk=identifier iris iris.csv

 

导入表后,需要添加文件,编写提交消息并将其同步到存储库——就像使用Git一样。

 

git add . dolt commit -m "Initial commit" dolt remote add origin romanorac/iris dolt push origin master

 

数据在DoltHub中的样子。可以看到熟悉的iris数据集。

 

朋友,你听说过数据版本控制产品Dolt吗?

 

现在,更改一个iris样本来看看diff的动态。

 

dolt sql --query 'UPDATE irisSET target=0 where identifier = 100'git add . dolt commit -m "Change sample 100" dolt push origin master

 

朋友,你听说过数据版本控制产品Dolt吗?

我们在第100行做了更改。DoltHub很好地进行了可视化。

 

每个都能体会到管理多个版本的数据集的麻烦,特别是对于已经投入生产的模型,这让我看到了Dolt的潜力。

 

对于较小的数据集,diff功能看起来比较有用,但我不确定它对于较大的数据集(每一行都在变化)有什么帮助。我还要用一个更大的数据集(几个G的数据)来测试Dolt。时间久了运行会不会变慢?

 

朋友,你听说过数据版本控制产品Dolt吗?

图源:unsplash

 

Dolt和DoltHub最好的例子就是共享数据。销售数据的公司可以记录每一个更改,客户可以能更透明地查看更改。DoltHub在冠状病毒流行期间也展示了其可用性,可以使用其分支来管理具有相同模式不同质量的供给。

 

至于它的其他用法,还需我们在实践中不断探索,快来试试吧!

朋友,你听说过数据版本控制产品Dolt吗?

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

朋友,你听说过数据版本控制产品Dolt吗?

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207979.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:39
下一篇 2026年3月19日 下午12:39


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号