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 adoltgres
user and adoltgres
database. -
Open a new terminal. Connect with the following command:
psql -h localhost -U doltgres
. This will connect to thedoltgres
database with thedoltgres
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