硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

以 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:007982

评论

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

从 Alpha 到 Beta,这次是 New mPaaS

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS

👋 Agora Flat 开源教室 Web 版上线啦~

千竹

开源 音视频 在线教育 互动白板 互动课堂

【FlinkSQL】Flink Table & SQL 时间属性

Alex🐒

flink 翻译 FlinkSQL flink1.13

2021年最新阿里、腾讯、华为、京东300+道高级面试题,掌握80%进大厂

Java架构师迁哥

签约落地!百度、山东共建人工智能数据标注产业基地

百度大脑

人工智能 百度智能云

从零开始学习3D可视化之场景层级(1)

ThingJS数字孪生引擎

大前端 物联网 可视化 3D可视化 数字孪生

爱奇艺于首届MediaAIAC与首届高新视频创新应用大赛斩获三项权威大奖,技术实践领跑行业创新

爱奇艺技术产品团队

4面拿华为offer的水平,面试阿里居然一面就被吊打?

Java架构师迁哥

【有奖活动】体验全局搜索,和小Mi老师一起机器学习!

Geek_6cdeb6

人工智能 机器学习 深度学习 mindspore

智慧工厂|全方位监控管理,可视化让生产变的透明

一只数据鲸鱼

数据可视化 工业互联网 智慧农业 智慧工厂 纺织企业

《原则》(十)

Changing Lin

6月日更

每日互动CTO谈数据中台(下):从演进、经验到规划

个推

JAVA中的浮点数与二进制

加百利

Java 后端 二进制 6月日更

【FlinkSQL】Flink Table & SQL 数据类型

Alex🐒

flink 翻译 FlinkSQL flink1.13

require() 方法详解

编程三昧

nodejs modules 模块 require

react源码解析10.commit阶段

全栈潇晨

react源码

揭秘视频千倍压缩背后的技术原理之预测技术

拍乐云Pano

一周信创舆情观察(5.31~6.6)

统小信uos

【FlinkSQL】Flink SQL CREATE 语法

Alex🐒

flink 翻译 FlinkSQL flink1.13

【FlinkSQL】Flink SQL Query 语法(一)

Alex🐒

flink 翻译 FlinkSQL flink1.13

阿里最新发布的 Spring Cloud ALiBaBa 全解第三版,一睹庐山真面目!

Java 程序员 架构 微服务

MTU带来的问题

BUG侦探

网络技术 网络运维 GRE 隧道

北京人工智能产业联盟成立,百度CTO王海峰出任联盟理事长

百度大脑

人工智能

面试大厂必备六大核心技能Spring+Nginx+Redis+kafka+JVM+高并发

Java架构师迁哥

教你三种jQuery框架实现元素显示及隐藏动画方式

华为云开发者联盟

jquery 动画 元素 JQuery框架 网页

微服务架构中的两款流量防卫兵

悟空聊架构

sentinel 高并发 Hystrix 6月日更 流量防控

字节跳动三面拿offer:网络+IO+redis+JVM+GC+红黑树+数据结构

Java架构师迁哥

Python——字符串查找/替换/分割

在即

6月日更

一款超牛的 Linux 终端复用神器(附安装、使用教程)

学神来啦

Linux 学习 运维 安全

预言机 - 区块链的触角

趣链科技

区块链 智能合约 预言机

时代变了,程序员の老冤家IE浏览器离场啦?!

空城机

JavaScript 微软 大前端 IE 6月日更

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