转自:OSC开源社区(ID:oschina2013)
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