DoltSQL 的工作原理是模拟 PostgreSQL 服务器,并将接收到的命令转换为交给底层 Dolt 服务器的 AST。
Dolt 是一个基于 Git 协议的开源 SQL 数据库,“版本控制的数据库”,使用 Golang 语言编写。首先它和 MySQL 关系型数据库一样,用于存储和管理数据,具有表、视图等概念,支持数据的增删改查等操作。它还提供了一个命令行工具,完美支持所有的 Git 命令,允许用户像使用一个 git 仓库一样对数据进行 fork、clone、branch、merge、push 和 pull 等操作。
Dolt 可以替代 MySQL,因为它实现了 MySQL 的语法和线协议,但它并不包含任何 MySQL 的代码,因为解决数据库版本控制问题的复杂性和挑战需要定制的解决方案。目前 Dolt 也已经准备好投入生产。
而当前发布的 DoltSQL 是对 PostgreSQL 的支持。DoltSQL 的工作原理是模拟 PostgreSQL 服务器,并将接收到的命令转换为交给底层 Dolt 服务器的 AST。这使得能够快速启动并运行,同时利用 Dolt 已经提供的特性。DoltSQL 团队解决,在采取这种方法之前,考察了很多其它方法,从编写外部数据包装器,到为 PostgreSQL 构建新的存储后端,甚至是分叉 PostgreSQL 本身。但许多方法都无法完全支持版本控制功能,而其它方法(如分叉 PostgreSQL)可能需要数年的开发时间。
使用方式:
Download the latest release
Put the binary on your PATH.
Navigate to a directory you want your database data stored (eg. ~/doltgresql).
Run doltgres. This will create a doltgres user and a doltgres database.
Open a new terminal. Connect with the following command: psql -h localhost -U doltgres. This will connect to the doltgres database with the doltgres user.
Run CREATE TABLE example (pk INT8 PRIMARY KEY); 运行 CREATE TABLE example (pk INT8 PRIMARY KEY);
详情查看:https://www.dolthub.com/blog/2023-11-01-announcing-doltgresql