Storing binary files in Vault

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

Locked
Zenda
Posts: 24
Joined: Fri Jul 15, 2005 8:58 am
Location: Toronto

Storing binary files in Vault

Post by Zenda » Tue Jul 19, 2005 8:25 am

Is storing binary files in Vault not recommended in general? We are thinking about storing versions of pruduct exes and redistritables in Vault. What are the catches of doing that? If the binaries are large, are they going to affect the performance of Vault in the long term?

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Tue Jul 19, 2005 8:54 am

You can put files of up to 2 GB in Vault (SQL Server's limit), so large binaries could be stored. Since you probably won't be checking them in and out very much, there's not a constant performance hit.

The catch is that they can add considerably to the size of your Vault database, so you want to be sure to have adequate hardward resources to accomodate it, if you go that route.
Linda Bauer
SourceGear
Technical Support Manager

ericsink
Posts: 346
Joined: Mon Dec 15, 2003 1:52 pm
Location: SourceGear
Contact:

Re: Storing binary files in Vault

Post by ericsink » Tue Jul 19, 2005 9:04 am

Zenda wrote:Is storing binary files in Vault not recommended in general? We are thinking about storing versions of pruduct exes and redistritables in Vault. What are the catches of doing that? If the binaries are large, are they going to affect the performance of Vault in the long term?
Vault handles binary files quite well, better than most source control systems if I may be so bold as to say so. :-)

The main reason why is "binary deltas". When you have two versions of a file, a binary delta is a compact way of expressing the differences between those two versions. For example, if you have a 40 megabyte file and you add 100 bytes to it, the new version will still be around 40 megabytes, but the binary delta between those two versions will be around 100 bytes.

Vault uses binary deltas to improve performance in two places:

1. Over the wire. Whenever possible, Vault sends a binary delta between client and server instead of sending the whole file. This can make an enormous difference in performance when accessing Vault over the Internet.

2. In the repository. Vault stores new versions of files as binary deltas. So, in the example above, checking in that new version of the 40 MB file will not consume another 40 MB of disk space in the repository database.
Eric Sink
Software Craftsman
SourceGear

Locked