写点什么

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

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

关注

评论

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

ProTradex是链上衍生品领域发展的强力推手

鳄鱼视界

贪心算法思想与练习

timerring

贪心算法

机器学习算法(三):基于horse-colic数据的KNN近邻(k-nearest neighbors)预测分类

汀丶人工智能

数据挖掘 机器学习

“中国软件杯”重磅预告!首批百度赛题即将发布

飞桨PaddlePaddle

Protradex,一个专注于链上衍生品交易市场的收益优化聚合平台

股市老人

掌握C++中static关键字的多种使用场景

小万哥

c++ 程序员 后端 开发 static

三天吃透MongoDB面试八股文

程序员大彬

Java mongodb

MySQL kill会话不起作用?

GreatSQL

MySQL greatsql社区

美团二面:细数 Redis 阻塞的9种情况

Java redis 面试

春招升级打怪拿offer,10w+字总结的Java面试题(附答案)够你刷

Java java面试 Java八股文 Java面试题 Java面试八股文

太全了!马士兵内部共享—1658页《Java面试突击核心讲》

Java java面试 Java八股文 Java面试题 Java面试八股文

ClickHouse为什么这么快

数新网络官方账号

Clickhouse

架构训练营 - 模块七作业

Sam

架构实战营

TLS、SSL、CA 证书、公钥、私钥。。。今天捋一捋!

江南一点雨

gRPC TLS CA ssl

Qualcomm QCN9074 4x4 MIMO 802.11ax MX6974 F5 WIFI6 Module

MAXON

QCN9074

视频动态壁纸:Dynamic Wallpaper 激活版

真大的脸盆

Mac Mac 软件 动态壁纸 高清动态壁纸

用友BIP推动大型企业财务从“价值反映和守护”走向“价值发掘和创造”

用友BIP

智能会计 价值财务

当你对 redis 说你中意的女孩是 Mia

京东科技开发者

c++ 数据库 redis 缓存 企业号 3 月 PK 榜

智能控制 | AIRIOT智慧楼宇管理解决方案

AIRIOT

物联网 智慧楼宇

全新升级|ECS成熟度评估与洞察,助你精准定位运维风险

云布道师

ECS

天天预约 | 预约小程序分销功能,最全的操作指南来啦!

天天预约

小程序 SaaS 系统 预约工具 分销

链上衍生品赛道成新趋势,Protradex生态成首要推动者

股市老人

Last Week in Milvus

Zilliz

非结构化数据 Milvus 向量数据库

C++编程必备:对象生命周期管理的最佳实践

小万哥

c++ 后端 生命周期 对象模型 RAII

测试用例设计指南

京东科技开发者

软件测试 测试用例

集成Health Kit时因证书问题出现错误码50063的解决方案

HarmonyOS SDK

HMS Core

微信小程序管理软件有哪些特点?

没有用户名丶

微信小程序

大模型落地比趋势更重要,NLP+金融如何看得见、摸得着?

脑极体

AI金融

深入理解C++右值引用和移动语义:全面解析

小万哥

后端 开发 C++11 右值引用 移动语义

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