这个项目能做什么
Dolt 是一款将 Git 风格版本控制应用于表格的 SQL 数据库。数据库可以像 Git 仓库一样进行分叉(fork)、克隆(clone)、分支(branch)、合并(merge)、推送(push)和拉取(pull)。该项目还提供 DoltHub 用于共享公共数据库、DoltLab 用于托管自己的实例以及 Hosted Dolt 用于托管服务器。
连接与客户端:Dolt 自带一个通过 `dolt sql-server` 启动的 MySQL 兼容服务器,默认监听端口 3306,并可通过 `dolt sql` 访问 MySQL 兼容客户端。README 中指出任何 MySQL 兼容客户端都可以通过 TCP 或套接字连接,并支持最高到 MySQL 8.4 版本,推荐使用 8.4 LTS 版本,同时附有链接说明如何为 MySQL 9.0 配置 caching_sha2_password。
版本控制接口:dolt 命令行工具镜像了 Git 的命令,包括 init、status、add、diff、reset、clean、commit、branch、checkout、merge、conflicts、cherry-pick、revert、clone、fetch、pull、push、remote、tag 和 blame,以及面向数据库的命令如 sql、sql-server、schema、table、dump、backup、migrate、read-tables、filter-branch 和 gc。在 SQL 中,读操作以系统表形式暴露(例如 dolt_log、dolt_status 和每张表的 diff 系统表),写操作则通过遵循 dolt_command 命名模式的存储过程实现,如 dolt_add 和 dolt_commit。参数传递遵循命令行模型,系统变量 dolt_transaction_commit 可为每个事务生成一个 Dolt 提交。Dolt 提交被描述为不同于标准 SQL 事务提交。
数据库特性:Dolt 支持外键、二级索引、触发器、检查约束和存储过程,演示中展示了跨三张表的连接操作,并声明支持最多十二张表的连接。文档教程涵盖了创建模式、插入数据、提交前检查差异以及查看日志等内容。
安装方式:Dolt 作为一个约 103MB 的单体二进制文件发布。安装选项包括适用于 Linux 和 macOS 的安装脚本,将其放置于 /usr/local/bin;Arch Linux 包、Homebrew、社区维护的 MacPorts 端口、Windows MSI 安装程序、Chocolatey、官方 Docker 镜像(dolthub/dolt 用于 CLI,dolthub/dolt-sql-server 用于服务器模式),或使用 Go 和 C 工具链从源码构建(因存在 cgo 依赖)。用户名和邮箱通过 `dolt config` 配置,与 Git 一致。
生态系统:README 中提到了 Doltgres——一个处于 Beta 版本的 PostgreSQL 方向变体、Discord 社区、公开路线图、视频介绍以及使用案例,如为 beads 和 gas town 提供支持,定位 Dolt 为多智能体和多机器工作流中代理内存的数据库。
评论
0 评分人数达到10人后显示
登录后参与讨论。