写点什么

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

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

关注

评论

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

阿里云 OSS对象存储攻防

火线安全

云安全 阿里云;

golang并发控制设计中的“流式模型”

不登山的小鲁

golang

大型企业SAP集成WMS系统方案流程

源字节1号

开源 解决方案 后端技术

python sorted()函数及sort()方法,零基础Python开发

程序媛可鸥

Python 程序员 面试

腾讯云COS对象存储攻防

火线安全

云原生 云安全 云原生应用

使用 CachedNetworkImage 实现图片离线缓存

岛上码农

flutter ios Android开发 移动端开发 3月月更

自从用了这个APP,我的身体状况....

IT蜗壳-Tango

极客时间 IT蜗壳

微软云对象存储攻防

火线安全

云原生 云原生应用 云安全攻防 云安全研究

低代码如何助力化学材料行业数字化升级?

TOBESOFT特碧软件

低代码 数字化转型 MES系统 制造业 TOBESOFT

关于帮助中心,你需要知道的一切

小炮

《第四期(2021-2022)传统行业云原生技术落地调研报告——金融篇》重磅发布!

York

容器 DevOps 云原生 金融科技 金融行业

2022年,人工智能和数据发展呈现哪五大趋势?

澳鹏Appen

人工智能 机器学习 深度学习 训练数据

网络安全 kali Web安全之CSRF攻击

学神来啦

网络安全 CSRF WEB安全 kali kali Linux

限时200位免费!网易云信娱乐社交公开课来啦!

网易云信

娱乐社交

Python 下载的9种方法,Python开发技巧

程序媛可鸥

Python 程序员 面试

Python 实现七大排序算法,面试竟然被这31道Python基础题难倒了

程序媛可鸥

Python 程序员 面试

案例研究:亚马逊广告使用 PyTorch 和 Amazon Inferentia 扩展广告处理模型

亚马逊云科技 (Amazon Web Services)

模型 PyTorch

红黑树的原理以及实现

Linux服务器开发

数据结构 B+树 红黑树 Linux服务器开发 Linux后台开发

使用APICloud平台实现朋友圈功能

YonBuilder低代码开发平台

html5 css3 APP开发 APICloud JavaScrip

低调不了!最佳体验尽在 Erda 2.0 版本

尔达Erda

云计算 云原生 设计 发布 界面改版

OceanBase 在线体验环境,现已上线!

OceanBase 数据库

oceanbase OceanBase 社区版 在线体验站

一文剖析:LVS/Nginx/HAProxy原理及应用场景

穿过生命散发芬芳

3月月更

条码WMS系统与ERP接口实现方法

源字节1号

后端开发 WMS系统 ERP接口

2021物联之星评选结果重磅出炉!AIoT产业核心玩家已经浮现

dgiot

python pandas loc布尔索引(指定条件下的索引),你花了多久弄明白架构设计

程序媛可鸥

Python 程序员 面试

python 列表 remove()函数使用详解,最新手淘Python高级面试题及答案

程序媛可鸥

Python 程序员 面试

Python 实现 ZeroMQ 的三种基本工作模式,贼好用的Python学习路线集合

程序媛可鸥

Python 程序员 面试

Cloud RedTeam视角下元数据服务攻防实践

火线安全

云原生 云安全

欧拉的奇异之旅·共赴开源时代

脑极体

OpenHarmony设备开发环境搭建/源码获取/编译/烧录

拓维信息

OpenHarmony 烧录

微博评论高性能高可用架构设计

随欣所遇

架构训练营5期

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