O'Reilly logo

Version Control with Subversion, 2nd Edition by Brian W. Fitzpatrick, Ben Collins-Sussman, C. Michael Pilato

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Choosing a Data Store

As of version 1.1, Subversion provides two options for the type of underlying data store—often referred to as the backend or, somewhat confusingly, the (versioned) filesystem—that each repository uses. One type of data store keeps everything in a Berkeley DB (or BDB) database environment; repositories that use this type are often referred to as being BDB-backed. The other type stores data in ordinary flat files, using a custom format. Subversion developers have adopted the habit of referring to this latter data storage mechanism as FSFS[29]—a versioned filesystem implementation that uses the native OS filesystem directly, rather than via a database library or some other abstraction layer, to store data.

Table 5-1 gives a comparative overview of Berkeley DB and FSFS repositories.

Table 5-1. Repository data store comparison
CategoryFeatureBerkeley DBFSFS
ReliabilityData integrityWhen properly deployed, extremely reliable; Berkeley DB 4.4 brings autorecoveryOlder versions had some rarely demonstrated but data-destroying bugs
Sensitivity to interruptionsVery; crashes and permission problems can leave the database wedged, requiring journaled recovery proceduresQuite insensitive
AccessibilityUsable from a read-only mountNoYes
Platform-independent storageNoYes
Usable over network filesystemsGenerally, noYes
Group permissions handlingSensitive to user umask problems; best if accessed by only one userWorks around umask problems
ScalabilityRepository disk usageLarger (especially ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required