svn 中FSFS和VDFS的区别

VDFS是基于FSFS的,公司的官网有介绍:VisualSVN Server

It's worth to notice that VDFS data store is built on top of the standard FSFS backend. The existing FSFS-based repositories can be instantly converted into a VDFS repository. Moreover, there is no data lock-in and you can instantly convert a VDFS repository back into a regular FSFS-based repository.

简单来说这个是VisualSVN基于FSFS文件系统格式扩展的,根据wikipedia的说法:VisualSVN Server

VisualSVN Distributed File System (VDFS). Multisite Repository Replication is based on VDFS technology. VDFS enables automatic, transparent, bidirectional replication of Subversion repositories between multiple locations (each slave repository is writeable). VDFS follows the classic master / slave replication architecture and uses Microsoft RPC as its transport layer.

也就是说,分布式版本管理DVCS兴起之后,大家发现多个仓库的好处了,开始给SVN增加这个功能。


至于FSFS本身是SVN在2004年开始替换Berkeley DB的,是基于文件系统概念设计的,而不是基于数据库的概念,根据 svnbook.red-bean.com/en 的说法,采用目录树的结构去做transaction,可以在目录外创建完一次提交,然后把完成的提交一次性移动进版本历史。另外,根据他们的数据结构,对Berkeley DB的append操作是O(N^2)的,而FSFS是O(N)的。当然更完整的介绍可以看:svn.apache.org/repos/as


如果你不是太在乎私有格式,也需要多仓库同步,可以用VDFS,官方文档说了VDFS默认的service是没有启动的,所以对你日常应该没有影响。如果不喜欢私有格式,就用FSFS就好。

你可能感兴趣的:(svn)