写点什么

Veracity,构建在分布式数据库上的分布式版本控制系统

  • 2011-07-27
  • 本文字数:1174 字

    阅读完需:约 4 分钟

Veracity 是一个能够运行在 Windows、Mac 和 Linux 平台上的分布式版本控制系统,它采用了分布式数据库来作为存储库。

Veracity 已经进行了一年多的测试工作,现在最新的版本是 0.9.1 版。这已经是时候让它登上舞台了。它在很多方面都和 Git 或者 Mercurial 很相似,但是也有一些区别。我们和 Eric Sink 探讨了这些差异,Eric 是 SourceGear 的创始人,正是这家公司支持着 Veracity 的开发。他告诉我们他们的分布式版本控制系统支持去中心化的数据库:

Veracity 的一个显著特性便是它的“去中心化数据库”。大多数版本控制工具都设计成可以管理面向文件系统的数据,这些数据可以组织成目录和文件,当然 Veracity 也可以做到这点,并且它还能够管理那些面向数据库的数据,也就是说这些数据可以组织成记录和字段。和处理文件系统数据一样,Veracity 的去中心化数据库也保存了数据库的所有历史。每条记录的每一个版本都保留在历史中,例如日志信息还记录了谁在什么时候做出的改变。Veracity 还支持推送和拉取“数据库变更集”,包括自动合并(在记录或者字段级)和解决违反约束条件。 这种能力便是数据库“去中心化”的基础。

用户可以为他们的 Veracity 存储库选择不同的数据库,Sink 描述道:

Veracity 通过 API 和底层存储库实例进行信息交互,这个 API 隐藏了数据存储的所有细节。这样设计的目的是用户可以选择如何存储数据。Veracity 的最新版本仅仅支持众多存储库插件中的一种 - FS3。它能够支持将 blob(二进制大型对象)存储在文件中(每个文件能够存储多达 1G 的 blob 数据),然后使用 SQLite 数据库来跟踪对象的存储位置。

我们已经开发出一些存储层的原型,这些原型能够将所有东西都保存在一个企业级的 SQL 数据库中。这些组件将来可以从 SourceGear 获得。有些可能将不会采取开源形式发布。

Veracity 支持在不同的存储库实例之间复制 / 推送 / 拉取信息,即使这些实例是运行在不同的存储层实现上。例如 Veracity 团队的中心数据库的存储库实例是 Oracle 数据库(如果我们有的话),而开发者的桌面系统却采用 FS3,这种情况下,这些实例之间的通信和信息交互不会有任何问题。

Veracity 是使用 C 和 JavaScript 编写,由 CMake 构建,并且有能够运行在 Windows、Mac 和 Linux 的程序代码遵守Apache 2 许可证并且开源。有一个公共存储库可供有兴趣的开发者查看用户界面是什么样的。

不过现在仍然有些工作要做,例如将其集成到Visual Studio 和Eclipse 中,添加快速导入/ 导出,子模块,wiki 等其他功能,但是Sink 说Veracity 的代码已经足够稳定,将来的版本肯定会兼容现在的存储库。1.0 版将会在1 周之后召开的 OSCON 2011 上发布。

另外要说的是,SourceGear 创建了 Vault,这是一个主要面向 Windows 的版本控制系统,目标是取代微软的 SourceSafe。

查看英文原文: Veracity, a New DVCS Based on a Distributed Database

2011-07-27 12:561919
用户头像

发布了 90 篇内容, 共 36.0 次阅读, 收获喜欢 5 次。

关注

评论

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

淘宝搜索API返回值分析:关键字搜索在电商领域的应用价值

技术冰糖葫芦

API Explorer API 接口 API 策略 pinduoduo API

大模型建设赋能再升级 大模型基础设施高质量发展研讨会圆满成功

中国信通院AI Infra工作组

深入解析单元测试框架如何构建可靠代码的基石

测吧(北京)科技有限公司

测试

Pydantic 基本操作指南

测吧(北京)科技有限公司

测试

ICE.AI市场需求与愿景

科技热闻

逐“路”向前!路桥股份携手端点科技重塑数字化采购新格局

科技热闻

很有意思的两个测试面试题

老张

为什么要使用 YAML 文件?

测吧(北京)科技有限公司

测试

从线上到线下!和鲸科技携手中国地质大学 UrbanComp,共绘 GeoAI 教学实践新篇章

ModelWhale

Python 人工智能 遥感影像 地球科学

什么是自动化测试框架?

测吧(北京)科技有限公司

测试

Python 数据类嵌套详解

测吧(北京)科技有限公司

测试

简单的限流过滤器

不在线第一只蜗牛

京东JD商品详情API返回值研究:商品数据与电商用户体验优化

技术冰糖葫芦

API Explorer API 接口 API 策略

贺!亚马逊云科技生成式AI能力认证释放GenAI能量,重塑客户体验!

伊克罗德信息科技

开启多屏时代,让设备不再吃灰!ToDesk、Spacedesk、EV、Duet Display扩展屏实测报告

小喵子

ToDesk 多屏 扩展屏

会议通知|大模型基础设施高质量发展专题研讨会

中国信通院AI Infra工作组

Python dataclasses 中 field 的使用

测吧(北京)科技有限公司

测试

玩转豆包大模型,火山引擎助力小爱打造“最强大脑”

新消费日报

中国信通院启动科学智能(AI4S)产业图谱编制工作

中国信通院AI Infra工作组

Python dataclass 基本使用指南

测吧(北京)科技有限公司

测试

Fluid 1.0 版发布,打通云原生高效数据使用的“最后一公里”

阿里巴巴云原生

阿里云 云原生 Fluid

【技术分享】重点机器状态变更飞书通知

伊克罗德信息科技

深入理解 pytest 测试框架

测吧(北京)科技有限公司

测试

YashanDB共享集群助力高端应用场景1:1平替

极客天地

这么简单的问题都不会,那还面试什么!?

王中阳Go

Go 面试 面试题 面经 Go进阶

多款可观测产品全面升级丨阿里云云原生 5 月产品月报

阿里巴巴云原生

阿里云 云原生 可观测

基于云效 AppStack,5 分钟搞定一个 AI 应用的开发和部署

阿里巴巴云原生

阿里云 云原生 云效

软件测试学习笔记丨Bash编程语法

测试人

软件测试

Veracity,构建在分布式数据库上的分布式版本控制系统_架构_Abel Avram_InfoQ精选文章