{"id":6501,"date":"2009-07-13T08:38:17","date_gmt":"2009-07-13T08:38:17","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2009\/07\/13\/tfs-database-sizes-for-a-somewhat-more-normal-team\/"},"modified":"2018-08-14T00:21:35","modified_gmt":"2018-08-14T00:21:35","slug":"tfs-database-sizes-for-a-somewhat-more-normal-team","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/tfs-database-sizes-for-a-somewhat-more-normal-team\/","title":{"rendered":"TFS Database sizes for a somewhat more &#8220;normal&#8221; team"},"content":{"rendered":"<p>I talk a lot about the DevDiv dogfood server.&#160; The numbers are always astronomical and people\u2019s heads spin when they see them and most people wonder what relevance it has to their life :)&#160; I publish the DevDiv stuff for a variety of reasons.&#160; I do it to show how scalable TFS is and that it is ready to handle almost anything you throw at it.&#160; I also do it because I\u2019m closest to that server \u2013 I use it all the time so it\u2019s somewhat personal.<\/p>\n<p>I think I\u2019m going to start publishing information about other servers occasionally so that you can see what things looks like for a range of different teams\/usage scenarios.&#160; Today I\u2019m going to write about a TFS server used by the AdCenter team.&#160; It\u2019s still a pretty big team with 1,384 users in the past 2 weeks but their development methodology and legacy are quite different from DevDiv.<\/p>\n<p>The server is just over 3 years old \u2013 the first checkin was on 6\/7\/2006.&#160; So you can think of these numbers as being relevant to about a 1,000 person team over 3 years.<\/p>\n<p>The first difference that I notice with the AdCenter team is that they create a lot of smaller Team Projects compared to DevDiv.&#160; We have just a handful of Team Projects \u2013 maybe 20.&#160; They have over 300.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image002_2.gif\"><img decoding=\"async\" title=\"clip_image002\" style=\"border-right: 0px;border-top: 0px;border-left: 0px;border-bottom: 0px\" height=\"388\" alt=\"clip_image002\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image002_thumb.gif\" width=\"644\" border=\"0\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>The relative sizes of databases still resembles DevDiv with Version Control being the lion\u2019s share and most other things nearly irrelevant.&#160; Looking at this, I\u2019d say they do a lot of builds.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001_2.jpg\"><img decoding=\"async\" title=\"clip_image001\" style=\"border-right: 0px;border-top: 0px;border-left: 0px;border-bottom: 0px\" height=\"484\" alt=\"clip_image001\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001_thumb.jpg\" width=\"637\" border=\"0\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>Here\u2019s the top database sizes.&#160; As you can see, it all adds up to about 350GB.&#160; That\u2019s a far cry from the DevDiv 15 TB.&#160; It\u2019s over 40X smaller even though the team size is only about 3X smaller.&#160; Why is that?&#160; Well, I\u2019ve said that VS is a bit of a weird org in this respect for a long time.&#160; For one thing, the code base goes back more than 20 years.&#160; For another, we use a VERY heavily branched development methodology that really blows up the version control database.&#160; It\u2019s also a very connected code base resulting in the average developer needing hundreds of thousands of files in each workspace in order to build\/debug their component.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B5%5D.jpg\"><img decoding=\"async\" title=\"clip_image001[5]\" style=\"border-right: 0px;border-top: 0px;border-left: 0px;border-bottom: 0px\" height=\"194\" alt=\"clip_image001[5]\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B5%5D_thumb.jpg\" width=\"404\" border=\"0\" \/><\/a><\/p>\n<p>Here\u2019s the breakdown of the version control database.&#160; As always, tbl_LocalVersion is a big chunk.&#160; tbl_LabelEntry looks very large so they must have a practice of labeling every build and keeping those labels around.&#160; The rest are all pretty small.<\/p>\n<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B7%5D.jpg\"><img decoding=\"async\" title=\"clip_image001[7]\" style=\"border-right: 0px;border-top: 0px;border-left: 0px;border-bottom: 0px\" height=\"390\" alt=\"clip_image001[7]\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B7%5D_thumb.jpg\" width=\"644\" border=\"0\" \/><\/a><\/p>\n<p>And here\u2019s the numerical breakdown\u2026<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B9%5D.jpg\"><img decoding=\"async\" title=\"clip_image001[9]\" style=\"border-right: 0px;border-top: 0px;border-left: 0px;border-bottom: 0px\" height=\"179\" alt=\"clip_image001[9]\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B9%5D_thumb.jpg\" width=\"404\" border=\"0\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>As you can see, not all TFS databases (even for large teams) need be mammoth.&#160; Development process plays a huge role in the strain you place on your development server.&#160; Sometime in the next month or two, I\u2019ll find an even smaller server and one that is shared by many teams and you can see what those look like.<\/p>\n<p>Brian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I talk a lot about the DevDiv dogfood server.&#160; The numbers are always astronomical and people\u2019s heads spin when they see them and most people wonder what relevance it has to their life :)&#160; I publish the DevDiv stuff for a variety of reasons.&#160; I do it to show how scalable TFS is and that [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[5],"class_list":["post-6501","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-tfs"],"acf":[],"blog_post_summary":"<p>I talk a lot about the DevDiv dogfood server.&#160; The numbers are always astronomical and people\u2019s heads spin when they see them and most people wonder what relevance it has to their life :)&#160; I publish the DevDiv stuff for a variety of reasons.&#160; I do it to show how scalable TFS is and that [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/6501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=6501"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/6501\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=6501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=6501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=6501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}