NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

DQMIS 2022第六届数据质量管理国际峰会议程新鲜出炉

数据质量管理智库

大数据 数据 数据治理 数据安全 隐私计算

鸿蒙开发实例 | 可复用列表项的ListContainer

TiAmo

华为 华为云 12月月更

MetaTown:一个可以自己构建数字资产的平台

华为云开发者联盟

区块链 华为云 12 月 PK 榜 数字资产平台

华为云低代码技术:让矿区管理“智变”,一览无遗

华为云开发者联盟

云计算 低代码 华为云 12 月 PK 榜

AngularJS进阶(二十五)requirejs + angular + angular-route 浅谈HTML5单页面架构

No Silver Bullet

AngularJS 12月月更 requirejs angular-route

Meta Force佛萨奇2.0元宇宙项目系统开发技术讲解方案

I8O28578624

喜讯!YMatrix 当选新能源汽车国家大数据联盟理事单位

YMatrix 超融合数据库

数据库 新能源汽车 新能源 超融合数据库 YMatrix

携程商旅CEO张勇:TMC不止一站式解决方案 携程商旅推出“产品云图”

携程商旅

工作中常用的设计模式--策略模式

lpe234

Java 后端 设计模式 策略模式 spring-boot

TDengine3.0:解决高基数问题的时序数据库设计思路

TDengine

数据库 tdengine 时序数据库

4.如何做好架构设计

程序员小张

「架构实战营」

底层逻辑-理解Go语言的本质

面向加薪学习

golang go语言 源代码 golang 面试 Go源代码

理解DALL·E 2, Stable Diffusion和 Midjourney的工作原理

Baihai IDP

人工智能 AI 工具 AIGC 文转图

AngularJS进阶(二十四)AngularJS与单选框及多选框的双向动态绑定

No Silver Bullet

AngularJS 12月月更 单选 多选

火山引擎DataTester:一个爆款游戏产品,是如何用A/B测试打磨出来的?

字节跳动数据平台

大数据 游戏 AB testing实战 12 月 PK 榜

LED透明屏在夜晚经济有怎样的发展机遇

Dylan

LED LED显示屏

AngularJS进阶(二十二)实现时间选择插件

No Silver Bullet

AngularJS 12月月更 AngularJS时间插件

4.0体验站|OceanBase 4.0,从分布式到单机,从单机到分布式

OceanBase 数据库

数据库 oceanbase

AWS CEO Adam Selipsky 演讲 Keynote @ re:Levent2022

B Impact

DTALK直播预约 | 12月8日开播:后疫情时代,制造企业如何实现数字化转型?

袋鼠云数栈

数字化转型

如何用 7 分钟击破 Serverless 落地难点?

Serverless Devs

中国敏捷十年实践者分享:敏捷教练的自我修为

华为云开发者联盟

云计算 华为云 12 月 PK 榜

MMM互助系统开发智能合约部署

薇電13242772558

dapp

EasyRecovery2023不要钱的硬盘数据恢复工具

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

源码解析:Dubbo3 的 Spring 适配原理与初始化流程

Apache Dubbo

Java 开源 微服务 dubbo

Golang中利用BPF进行动态追踪

MatrixOrigin

Go 数据库 云原生 MatrixOrigin MatrixOne

CorelDRAW2023中文版专业矢量软件更新介绍

茶色酒

CorelDRAW 2022 CorelDraw2023 CorelDraw

浅谈 Apache Flume 数据接入的实现原理以及问题分析处理方式

移动云大数据

flume

2023最新版EasyRecovery软件下载安装教程

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

积分盲盒商城系统开发方案(成熟定制技术)

I8O28578624

会议报道 | 第二届百家医院单细胞中心联盟年度峰会圆满落幕

联营汇聚

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