写点什么

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:561770
用户头像

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

关注

评论

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

为什么公共云的弹性能力很难被发挥出来?

AutoMQ

Java 大数据 云原生 AutoMQ

理解标准数据类型及类型查看

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

测试

什么是运算符

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

测试

2024春季火山引擎FORCE原动力大会,5月15日开幕

新消费日报

SD-WAN助力企业实现多分支互联

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

KaiwuDB 参编的《分析型数据库技术要求》标准正式发布

KaiwuDB

数据库 分析型数据库 数据库行业标准制定 数据库标准

Bonree ONE 2024春季正式版:革新智能运维,7 大功能亮点重磅发布

博睿数据

探索Git分支管理:优化团队协作与项目开发

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

测试

一文搞懂 ARM 64 系列: ADC

EquatorCoco

开发 arm

理论+实践,带你了解分布式训练

快乐非自愿限量之名

分布式 分布式训练 语言模型

了解元组:定义、特点、应用及常用方法

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

测试

线程池核心原理浅析

不在线第一只蜗牛

线程 核心原理

重磅更新:草料二维码容量调整,不再限制图片文件上传量

草料二维码

深入了解字符串:定义、转义字符和字符串下标

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

测试

深入理解逻辑运算符及其短路特性

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

测试

建发弘爱 X 袋鼠云:加速提升精细化、数字化医疗健康服务能力

袋鼠云数栈

数据资产 医疗 医疗AI 医疗中台 数据服务

解锁工业数据流:NeuronEX 规则调试功能实操指南

EMQ映云科技

emq emqx NeuronEX

基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路

Apache Flink

flink oceanbase 实时数据

深入理解变量:定义、使用和地址

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

测试

探究字符串操作的各种类别

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

测试

深入理解计数器函数:闭包与装饰器

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

测试

掌握Python中的系统监控与管理:使用psutil库

霍格沃兹测试开发学社

云手机:海外舆情监控的新工具

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 跨境云手机

深入了解条件判断、状态标记和假值状态

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

测试

元组与列表:相同点、不同点及内存占用

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

测试

关于零信任理念, 零信任的重点是什么

德迅云安全杨德俊

ZOC8 for Mac v8.08.2激活版:顶级终端仿真器

iMac小白

ZOC8 下载 ZOC8 中文版 ZOC8 激活版 ZOC8 破解版 ZOC8 mac

DY短视频批量爬虫提取工具功能介绍

Geek_16d138

好用的软件分享

企业如何训练自己的专属大模型?

幂简集成

AI API 大模型

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