Vault Data Model and Link behavior

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
sdutremble
Posts: 8
Joined: Wed Feb 23, 2011 10:00 am

Vault Data Model and Link behavior

Post by sdutremble » Wed Feb 23, 2011 11:00 am

We are migrating from VSS to Vault Standard.
Our VSS data is split down to about 17 databases.
We plan to import the VSS data into Vault.

My questions are:
* What is the initial Vault Data Model?
* On importing VSS Data, will the Vault Data Model change to reflect the VSS directory structure?
* There may be many large files managed within VSS, will those files NEED to reside within the Vault database or can we make links to local files instead?
* In one of the Vault Standard FAQ, it is mentioned that it is not possible to easily move data between different Vault Databases (Drag&Drop for example). Is it possible to create links between databases?
* What happens to database links when the original file is either changed deleted or renamed?
* What happens to links to links (chained links)?

I will likely have more in the future but if we can deal with these above it will be a definite good start.

Thanks,

Serge

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

Re: Vault Data Model and Link behavior

Post by lbauer » Wed Feb 23, 2011 2:08 pm

My questions are:
* What is the initial Vault Data Model?
Not sure what you mean by this. Are you asking about where we store the data? The structure of the data?
* On importing VSS Data, will the Vault Data Model change to reflect the VSS directory structure?
The VSS Import or Handoff brings in the VSS Project Tree in the same structure it was in VSS. We call it the Folder Tree in Vault, instead of Project Tree.
* There may be many large files managed within VSS, will those files NEED to reside within the Vault database or can we make links to local files instead?
*
Files would need to be in the Vault database/repository. There is no external linking.
In one of the Vault Standard FAQ, it is mentioned that it is not possible to easily move data between different Vault Databases (Drag&Drop for example). Is it possible to create links between databases?
*
We have a Folder Export/Import tool that can export a folder and its history from one repository and import it into a different repository. However, links are not created.
What happens to database links when the original file is either changed deleted or renamed?
*
Do you mean database links or shared files within the database? Vault doesn't support links, but we do support shared files and folders.

You've used some terms that aren't VSS or Vault terms. Perhaps if you tell us about your development process and how you use these features, we can determine if Vault can do what you need.
Linda Bauer
SourceGear
Technical Support Manager

sdutremble
Posts: 8
Joined: Wed Feb 23, 2011 10:00 am

Re: Vault Data Model and Link behavior

Post by sdutremble » Wed Feb 23, 2011 3:19 pm

Thanks Linda. As you mentioned, I need to clarify:

Vault Standard is going to be replacing our aging VSS service. We used VSS more for Package version control rather than source code source control. We will likely not use most of the impressive features provided by Vault. We already decided on Vault Standard and procured sufficient licensing for our need.

Our project implementation process requires us to consider data modeling every time a database is used. This is why I am asking the questions.

I understand that Vault uses and stores everything into a database. We are still debating the need for 64-bit OS although we know we will use MS SQL for the database back end. I am looking for some information on the data model to see how it may be impacted by the way we consider importing the VSS databases and associated VSS Project Trees into the Vault Folder Trees. We are not sure yet if we will Import or Handoff.

If I understand correctly, the 17 VSS Databases we have contain multiple VSS Project Trees. We have choices on how we will be importing the various VSS database content into Vault. I believe that having a better understanding the underlying Vault Data model (the "structure") will help us make informed decisions.

However, it may be all irrelevent if the database structure of Vault is not changing depending on how the Vault Folder Tree looks. It may all be just data. This is where I need help.

My initial questions may be making more sense now that I have explained the context:

Question 1: What is the initial Vault Data Model?
Question 2: Is the Data model dependant on the way the Vault Folder Tree looks?

You indicated that all files must reside within the Vault database.

Question 3: What is the common practice for large files (like cd/dvd iso images for example)?
Question 4: How are other binary file types handled (PDF, Office Documents, executable...)?

In my initial questions, I believe I used the word "link" for the concept of using a "reference to a shared file or folder". The question remains conceptually the same:

Question 5: What happens to shared file references if the initial shared file is moved, renamed or deleted?

Question 6: Is there such a thing as cascated shared references? (I.E. A reference to a reference to a shared document).

Any help you may be able to provide Thanks.

Serge

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

Re: Vault Data Model and Link behavior

Post by lbauer » Thu Feb 24, 2011 5:27 pm

Question 1: What is the initial Vault Data Model?
Vault stores everything in a SQL Server database. All source Code files are stored in a specific table. Everything has a unique id: object ID, user ID, repository ID, etc.
Question 2: Is the Data model dependant on the way the Vault Folder Tree looks?
No.
Question 3: What is the common practice for large files (like cd/dvd iso images for example)?
Did you store CDs and DVD iso images in VSS?
While you can store large files in Vault, it was designed more for versioning than for archiving. If you are going to store large files, you need lots of system resources -- ram, disk space, etc. Also, there are IIS upload limits for very large files. There is also a file size limit in SQL Server of 2 GB, though there may be compression of larger files. That makes it different than the VSS flat file system.
Question 4: How are other binary file types handled (PDF, Office Documents, executable...)?
Binary files can be added to Vault just as you would add mergeable files. You won't be able to diff with our diff tool, and binary files will take up more space, since our way of storing file "deltas" (differences, rather than whole file versions) isn't as effecient with binaries.
Question 5: What happens to shared file references if the initial shared file is moved, renamed or deleted?
If a share is renamed, than all share links are renamed. If a share is moved, it does not affect the other shares, and is still linked. If a share is deleted, the other share links remain.

Note that in Vault, we also support shared folders. The contents of the folders are secondarily shared. If you have shared a folder and change the contents of a shared folder, then the contents of the other shared folders are changed as well.
Question 6: Is there such a thing as cascated shared references? (I.E. A reference to a reference to a shared document).
That's not a term that's used in Vault. Are the references within the files? What are the references referring to?
Linda Bauer
SourceGear
Technical Support Manager

sdutremble
Posts: 8
Joined: Wed Feb 23, 2011 10:00 am

Re: Vault Data Model and Link behavior

Post by sdutremble » Fri Feb 25, 2011 6:24 am

Thanks for your answers Linda.

I'll just specify that the Vault Data model is part of the application and maintained by the Vault developers. That should be enough for us. We will just create it with the Vault installation, Backup and Restore it but not directly change it.

We did store ISO files within VSS. We'll have to think about that one...

You mention that you also use the "Storing Delta" algorithm for binary files. What is the success rate? Is there any risk associated with doing this? Binary files are not tolerant with small changes within the file so the algorithm must be extremely good. Please advise in this.

As for cascaded refences: Let say I have shared a file doc1.txt in Folder Tree 1 and I make a reference to it from Folder Tree 2. Then, what if I reference the reference in Folder Tree 2 in Folder Tree 3. Possibly at infinitum...

Thanks for your help,

Serge

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

Re: Vault Data Model and Link behavior

Post by lbauer » Fri Feb 25, 2011 8:13 am

sdutremble wrote:
You mention that you also use the "Storing Delta" algorithm for binary files. What is the success rate? Is there any risk associated with doing this? Binary files are not tolerant with small changes within the file so the algorithm must be extremely good. Please advise in this.

As for cascaded refences: Let say I have shared a file doc1.txt in Folder Tree 1 and I make a reference to it from Folder Tree 2. Then, what if I reference the reference in Folder Tree 2 in Folder Tree 3. Possibly at infinitum...
There haven't been reports of problems with binaries. It works very well.

Regarding cascaded references, the fact that a file is shared shouldn't make a difference. If your code references a file in the tree, then as long as the file is where it's expected to be in the tree, it should work. If the file moves, that might be a different matter. I may still be unclear on whether your references are in your code and pointing to files in the tree or something else.

You might want to test out references by connecting to our Vault Demo server with a Vault client.

http://www.sourcegear.com/vault/demo.html
Linda Bauer
SourceGear
Technical Support Manager

Post Reply