写点什么

以 Git 为数据源、具备版本控制的数据源 Dolt 新增了 PostgreSQL 风味

  • 2024-01-04
    北京
  • 本文字数:1091 字

    阅读完需:约 4 分钟

大小:507.35K时长:02:53
以 Git 为数据源、具备版本控制的数据源 Dolt 新增了 PostgreSQL 风味

DoltgreSQL 以版本控制数据库 Dolt 为基础构建,为 Postgre 数据库模式及数据提供类 Git 的日志、差异、分支及合并功能。

 

Dolt 作为 SQL 数据库,允许用户像是 Git 代码库一样进行克隆、fork、分支及合并。通过 Dolt,应用程序开发者可以为用户创建分支,合并工作流,比如发送 pull 请求修复数据中的错误。同理,Dolt 可以通过数据库分支、变更应用,在暂存环境中测试,并最终部署回生产环境的这种简单模型修改生产数据库。

 

Dolt 从创建之初就采用了 MySQL 的语法和面向命令行的范式,Git 用户对此必然不会感到陌生。

 

DoltgreSQL 专注于数据库服务体验,提供可定制且易于部署的服务器。此外,该公司表示这款数据库不提供命令行支持,以更好地与 PostgreSQL 的一般用户体验保持一致。

 

DoltgreSQL 的工作原理是模拟 PostgreSQL 服务器,将接收到的命令转化为 AST 后提供给底层的 Dolt 服务器。如此一来便能实现快速的启动和运行,同时还可利用 Dolt 已提供的能力和功能。

 

这种在 Dolt 基础之上的构建新功能的优势在于可借助后者的稳定性和可靠性,减少开发的范围和工作量。

 

DoltHub 称他们研究了不同的方式,其中包括编写外来数据包装器、构建全新 PostgreSQL 存储后端,甚至是 fork PostgreSQL 本身。这些方式中有些存在太大的局限性,有些(如 fork PostgreSQL)则需要数年之久的开发时间。

 

至于负面方面,这种仿 Git 方法的缺点在于其无法运行实际的 PostgreSQL 二进制文件。正如前文所述,DoltgreSQL 是将 PostgreSQL 语法转换为 AST 表示法,并在 Dolt 层中运行。

 

在完成安装 DoltgreSQL 之后,用户可以使用 psql 命令行客户端连接到数据库。若要查询数据库状态,则可运行这行语句:

select * from dolt_status;
复制代码

这行语句会列出所有现存表,并指定这些表为新表或暂存表等等。若要将一个表添加到暂存区域,则可运行这行语句:

call dolt_add('my_table_name');
复制代码

若要提交变更,则运行:

call dolt_commit('-m', 'updated schema');
复制代码

而 select * from dolt_log;语句则是等同于 git log

 

Doltgres 仍处于试验阶段且存在一些限制情况,其中包括不支持 DoltHub 和 DoltLab、没有身份验证或用户管理、对 SSL 连接的支持有限、不支持复制、群集等。

 

虽然 Dolt 的“数据版 Git”这一价值主张听起来很有吸引力,但数据库专家 J. Andrew Rogers 在 Hacker News 上指出,这一目标与多版本并发控制(MVCC)几十年来的尝试并无二致,而且还存在几个重要缺点。Dolt 首席执行官 Tim Sehn 强调,与原生 MySQL 在 sysbench 基准的运行相对比,Dolt 仅比 MySQL 略慢一点。


原文链接:

Git-for-Data, Version-Controlled Database Dolt Gets PostgreSQL-Flavor

2024-01-04 08:007815

评论

发布
暂无评论
发现更多内容

DDoS攻击详解

网络安全服务

udp DDoS cc tcpip DDoS 攻击

和鲸科技荣耀入选2024 H1 「中国最具价值 AGI 创新机构 TOP 50」

ModelWhale

AI 云原生 AGI

开源可视化报表,JimuReport 积木报表 v1.7.8 版本发布

JEECG低代码

积木报表 jimureport 报表工具

JeecgBoot 中如何对敏感信息进行脱敏处理?

JEECG低代码

数据加密 数据脱敏 JeecgBoot jeecg

图片链接一网打尽:利用JD商品详情API获取商品高清图

技术冰糖葫芦

API 安全 API 文档 API 开发 API 协议

JeecgBoot 集成宝兰德 AppServer 部署方案

JEECG低代码

信创 低代码平台 JeecgBoot 信创国产化

【信创】JeecgBoot集成东方通TongRDS

JEECG低代码

信创 低代码平台 jeecg-boot JeecgBoot 信创国产化

JVM是如何创建一个对象的?

快乐非自愿限量之名

JVM

TikTok直播卡顿、封号频发?搭建TikTok直播网络解决!

Ogcloud

tiktok直播 tiktok直播专线 tiktok直播网络 tiktok直播带货 TikTok跨境直播

Docker镜像源失效,教你将源换成国内

JEECG低代码

Docker docker image

linux进程管理

不在线第一只蜗牛

Linux 运维

数据分析的好帮手,小浣熊办公助手!

百里丶落云

AI 办公小浣熊 代码小浣熊 小浣熊家族 小浣熊

【信创国产化】JeecgBoot低代码适配达梦和人大金仓

JEECG低代码

信创 JeecgBoot 国产信创数据库

10个JavaScript One-Liners让初学者看起来很专业

OpenTiny社区

JavaScript 开源 前端 OpenTiny

东南亚TikTok直播专线

Ogcloud

tiktok直播 tiktok直播专线 tiktok直播网络 tiktok直播带货 TikTok跨境直播

移动图形工作站那家好用?

青椒云云电脑

图形工作站 移动图形工作站

伙伴活动|AI硬件大潮来袭,深圳的创客们在哪里?

声网

百度智能云将大模型引入网络故障定位的智能运维实践

Baidu AICLOUD

智能运维 网络运维

SpringSecurity安全管理

EquatorCoco

spring 安全

和鲸101计划夏令营火热进行中!北中医助阵医学数据探索,快来学习

ModelWhale

AI 数据科学 实践 Workshop 夏令营

Sam Altman 新公司将打造 AI 健康教练;全新大模型架构 TTT 超越 Transformer 丨 RTE 开发者日报

声网

互联网不行了?程序员不吃香了?机会在哪里?

伤感汤姆布利柏

Java Executors类的9种创建线程池的方法及应用场景分析

快乐非自愿限量之名

Java 线程池

Docker Compose 一键快速部署 RocketMQ

JEECG低代码

Docker RocketMQ

JeecgBoot 代码生成器使用入门

JEECG低代码

代码生成器 jeecg-boot JeecgBoot jeecg

Gartner: 全球服务器出货量上涨,浪潮信息市占率11.3%居全球前二

财见

百誉控股完成对Electra New Energy Vehicle Inc控股权的合并

财见

空窗期太长?这么说就对了!

王磊

Java

JeecgBoot v3.7.0 all 版本发布

JEECG低代码

低代码 低代码开发平台 JeecgBoot jeecg

数据中台真的适合你的企业吗?

RestCloud

数据中台 BI 数仓 ETL

以 Git 为数据源、具备版本控制的数据源 Dolt 新增了 PostgreSQL 风味_数据库_Sergio De Simone_InfoQ精选文章