写点什么

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

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

关注

评论

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

华为视频独家呈现:发布会开场舞《见非凡》AiMax 版来袭

最新动态

mac苹果电脑矢量绘图软件:Sketch for mac 中文激活版

你的猪会飞吗

sketch Mac Mac软件下载站 mac破解软件下载

火山引擎携手招商银行共探智能体应用,加速数字金融创新

新消费日报

Docker 容器中镜像导出/导入

快乐非自愿限量之名

Docker 容器

洞悉市场脉搏,从实时监控商品信息开始 —— 淘宝API的力量

技术冰糖葫芦

API Explorer平台 api 网关 API Gateway API 测试 pinduoduo API

新闻“样板间”提升50%开发效率,20家新闻媒体应用批量鸿蒙化

最新动态

读书笔记:简单高效的工作方式

老张

读书笔记 团队管理 远程办公

支撑AI的算力芯片,未来何去何从?

博文视点Broadview

GitHub Star 数量前 13 的自托管项目清单

NocoBase

GitHub 开源 自托管 self-hosted

替换传统数据处理平台,TDengine 与华风数据达成合作

TDengine

数据库 tdengine 时序数据库

Mac 高清屏幕录像工具iShowU Studio for mac

Mac相关知识分享

录屏软件

如何高效的匹配、筛选数据,避免嵌套循环

六哥是全栈

Java ts 开发技巧

NGINX 和 HAProxy:基于公有云标准环境的用户体验测试对比

NGINX开源社区

读书笔记 开源 最佳实践 反向代理 HAProxy

对接开源大模型应用开发平台最佳实践

阿里云大数据AI技术

人工智能 LLM rag OpenSearch dify

爱回收商品详情数据接口

tbapi

爱回收API 爱回收商品详情数据接口

Go必知必会:掌握Go语言中的Channel,并发编程的核心

王中阳Go

并发 channel Go 语言 GO语言编程

鸿蒙NEXT生态应用核心技术理念:一次开发,多端部署

芯盾时代

鸿蒙 物联网 国产化替代

再创辉煌!望繁信科技斩获第十三届中国创新创业大赛四川赛区桂冠

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 望繁信科技

DBeaver 24.2 发布下载,新增功能概览

sysin

数据库 sql 管理工具 Dbeaver

如何留住自己的团队?

秃头小帅oi

低代码平台与云服务技术研究白皮书

不在线第一只蜗牛

低代码 云服务

电商数据分析师必备:京东商品详情API返回值解读

技术冰糖葫芦

api 网关 API Gateway API 测试 pinduoduo API

互联网大厂Java面试高手心法,在寒潮之下找到自己心仪的 offer。

码哥字节

Java 后端面试

如何看待:低代码开发平台的兴起无需经验?

快乐非自愿限量之名

低代码

对游戏语音软件Oopz遭遇DDoS攻击后的一些建议

网络安全服务

负载均衡 udp 语音聊天软件 DDoS 攻击 黑神话悟空

关于粒子滤波的解析

梦笔生花

粒子滤波

GreatSQL 异步复制及搭建

GreatSQL

议程抢先看!安谋科技、英特尔、浪潮信息、蚂蚁集团等企业大咖齐聚 2024 云栖大会操作系统开源专场

OpenAnolis小助手

操作系统 云栖大会 龙蜥社区 龙蜥操作系统 AIibaba CIoud Linux

参赛心得和思路分享:2021第二届云原生编程挑战赛2: 实现一个柔性集群调度机制

阿里云天池

云原生

现在的 AI ,有多会做老师?

豆包MarsCode

Python 人工智能 程序员 AI 求职

PDF自动化批处理工具PDF Checkpoint for mac

Mac相关知识分享

PDF

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