Subversion使用什么数据库?
是否有默认设置或者您可以将其设置为使用任何数据库吗?
答案 0 :(得分:6)
Subversion使用FSFS,你既不能也不应该想要改变它。
答案 1 :(得分:6)
服务器强>
Subversion支持当前用于存储存储库的两个后端。您可以选择使用--fs-type
命令的svnadmin create
选项。
FSFS(这是默认值),这是一种存储有某些人类可读文件的自定义格式(主要的例外是delta数据是二进制的)。 FSFS还使用SQLite数据库来跟踪文件内容的散列,因此如果需要再次存储相同的内容(重复数据删除),则可以重用现有的内容存储。如果您正在考虑典型的关系数据库,那么FSFS中的SQLite使用距离最近,并且SQLite数据库实际上并不存储任何数据,并且可以随时删除而不会丢失任何数据(后果是未来的修订可能需要更多的空间)。 FSFS已经完成了大量的工作,以便在各种情况下对其进行优化,并且已经发展了许多旋钮,即使在不寻常的情况下也能使其达到最佳状态。
BDB(这是原始的后端),它使用Berkeley DB来存储存储库。从1.8.0开始,此后端已弃用但仍受支持。它在很长一段时间内没有做很多工作,几乎在所有情况下FSFS都会胜过它。
Google至少有一个其他后端实施,从未使用Google's proprietary BigTable storage发布。我相信这实际上仍然用于GoogleCode的Subversion支持。
Subversion 1.9.0(在撰写本文时尚未发布)将支持一个名为FSX(发音类似物理学)的新实验存储,它将比FSFS更紧凑,更快速。一旦FSX被认为是稳定的,BDB将被完全删除。
Subversion不支持使用其他通用数据库(如MySQL,PostgreSQL,Oracle等)(RDBMS或NOSQL)来存储所有内容,目前还没有计划支持它们。
<强>客户端强>
对于客户端工作副本,Subversion客户端使用了两种不同的格式
答案 2 :(得分:3)