打造Git风格的数据库管理系统

Dolt 项目近期发布,旨在开发一款结合 SQL 支持和 Git 式版本控制的数据库管理系统。Dolt的亮点在于,它允许用户克隆表、创建和合并表,以及执行类似于 Git 仓库的推送和拉取操作。

同时,该数据库管理系统支持 SQL 查询,并在客户端接口层面兼容 MySQL。版本控制功能使用户能够追踪数据来源,提交链接功能则支持通过修正实现完全一致的结果,无论当前状态如何,这些修正都可以随时复制到其他系统中。

此外,用户可以轻松地浏览历史记录,并使用 SQL 跟踪表中的变化,而无需核对备份、审核变更,还可以生成涵盖特定时间点数据的查询。

在项目存储库页面上,创建者对Dolt的描述如下:

Dolt 是一个 SQL 数据库,它像 Git 仓库一样可以进行 fork、clone、merge、push 和 pull 等操作。连接 Dolt 的方式与连接任何 MySQL 数据库相同,您可以使用 SQL 命令运行查询或更新数据。所有您熟悉的 Git 命令在 Dolt 中都完全适用。Git 用于版本控制文件,Dolt 用于版本控制表。它就像 Git 和 MySQL 的结合体!

关于多尔特

数据库管理系统提供两种运行模式:离线模式和在线模式。

  • 断开连接后,在脱机模式下,数据库内容可作为存储库使用,您可以使用该存储库使用类似git的命令行实用程序执行操作。
  • Dolt SQL Server以“联机”模式启动,该模式允许使用SQL语言进行数据操作。 提供的接口靠近MySQL,可以通过连接MySQL兼容客户端或使用CLI接口来使用。

它的工作原理与 Git 非常相似,主要区别在于它跟踪的不是文件的变更,而是表的内容变更。通过提供的命令行界面 (CLI),您可以从 CSV 或 JSON 文件导入数据、添加包含变更的提交、显示版本差异、创建版本、设置标签、向外部服务器发送请求,以及合并其他贡献者提交的变更。

如果用户愿意,可以将数据放置在DoltHub目录中,该目录可以看作是GitHub类似物,用于托管数据和在数据上进行协作。 用户可以派生数据存储库,提出更改并与他们的数据合并。

例如,在DoltHub上,您可以找到带有冠状病毒统计信息的各种数据库,用于机器学习系统的带注释的数据集合,语言词汇数据库,图像集合,对象分类工具包以及IP地址属性信息。

也就是说,Dolt 更像是一个数据操作工具,而非查询处理系统。例如,默认情况下,SQL 服务器只能处理一个连接到当前目录下存储库的活动用户连接(此行为可通过配置更改)。服务器可以设置为只读模式。许多版本控制操作也可以通过 SQL 执行,例如提交或切换分支。

最后,如果您有兴趣了解更多关于此数据库管理系统的信息,您应该知道该项目的代码在 GitHub 上,它是用 Go 语言编写的,并以 Apache 2.0 许可证分发。

如何在Linux上安装Dolt?

对于有兴趣在系统上安装此DBMS的用户,他们应该知道Dolt是多平台的,对于使用Linux的我们,可以通过打开终端并执行以下命令来执行安装:

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

在 Google 中将其添加为首选来源