Subversion 仓库管理:数据存储、创建配置与维护指南
数据存储类型
在 Subversion 中,有两种主要的数据存储类型:Berkeley DB 和 FSFS。下面将详细介绍它们的特点、优缺点。
Berkeley DB
Berkeley DB 是一种高性能的嵌入式数据库,在 Subversion 早期设计阶段就被采用,原因包括开源许可、事务支持、可靠性、性能、API 简单、线程安全以及对游标操作的支持等。
-优点:
-事务支持:提供真正的事务支持,多个进程访问 Subversion 仓库时,不会意外覆盖彼此的数据。事务系统的隔离性使得对于任何操作,Subversion 仓库代码看到的是数据库的静态视图,可以基于此视图做出决策。如果决策与其他进程冲突,整个操作会回滚,然后优雅地重试。
-热备份:可以在不关闭数据库环境的情况下进行备份,无需停机就能创建仓库的完整功能副本。
-可靠性:Subversion 使用 Berkeley DB 的日志功能,数据库在进行修改前会先将修改描述写入磁盘日志文件,确保出现问题时可以恢复到之前的检查点,并重放事务以恢复数据。
-缺点:
-可移植性问题:Berkeley DB 环境不可移植,不能简单地将在 Unix 系统上创建的 Subversion 仓库复制到 Windows 系统上使用。
-系统兼容性