{"id":1721,"date":"2013-11-20T05:53:58","date_gmt":"2013-11-20T05:53:58","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2013\/11\/20\/how-much-data-can-you-put-on-vsonline\/"},"modified":"2013-11-20T05:53:58","modified_gmt":"2013-11-20T05:53:58","slug":"how-much-data-can-you-put-on-vsonline","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/how-much-data-can-you-put-on-vsonline\/","title":{"rendered":"How much data can you put on VSOnline?"},"content":{"rendered":"<p>I don&rsquo;t get asked that question too often but I do occasionally and, as the service matures, I know I&rsquo;ll get asked it more and more so it&rsquo;s been on my mind.&nbsp; I was looking at some data yesterday about some of our largest tenants.&nbsp; No, I wasn&rsquo;t looking at any of their IP (I can&rsquo;t) but I was looking at some meta-data to understand usage patterns so we can plan ahead to make sure the service provides a good experience as tenants grow.\nSo far, no customer has hit any limit on how much they can store in VSOnline but there are limits and I keep wondering how to help people understand what they are so they can think about them in their planning.&nbsp; For the purpose of this conversation there are 2 main kinds of storage that you use:\n1) <strong>Blob store<\/strong> &ndash; this is the size of the files, attachments, etc that are stored on the service.&nbsp; The files are compressed so that affects the size.&nbsp; The blob store is, for all intents and purposes unlimited (though we may from time to time impose limits to prevent abuse).&nbsp; Legitimate use is basically unlimited.\n2) <strong>Meta-data store<\/strong> &ndash; Metadata (version control version info, work item records, test execution results, etc) are stored in a SQL Azure database.&nbsp; Today the limit on a SQL Azure database is 150GB.&nbsp; That&rsquo;s a hard limit that we live with.&nbsp; SQL Azure has a road map for increasing that and we are also working with them to get compression support (our stuff compresses incredibly well) so I don&rsquo;t see this being a big issue for anyone anytime soon but it&rsquo;s always on my mind.\nSo the question I&rsquo;ve struggled with is how do I answer the question &ldquo;How much data can I put in VSOnline?&rdquo;&nbsp; No one is ever going to be able to wrap their head around what the 150GB meta-data limit means.&nbsp; So I tend to think that people most easily relate to the size of their source code\/documents\/attachments and everything else kind of works out in the wash.&nbsp; Of course usage patterns can vary and you may have a very large number of work items or test results compared to others but so far, it&rsquo;s the best measure I&rsquo;ve been able to come up with.\nSo as I was looking at the data yesterday, here&rsquo;s what I found about our largest tenant to date:\n<strong>260GB compressed blob store<\/strong> &ndash;&nbsp; I usually estimate about a 3X compression ratio (varies depending on how much source vs binary you check in but, on average it&rsquo;s pretty close).&nbsp; So that&rsquo;s about 780GB of uncompressed data.\n<strong>11GB of meta data &#8211; <\/strong>So, that puts them about 7% of the way to the limit on meta-data size &ndash; plenty of headroom there.\nSo if I extrapolate to how much data they could store before hitting the meta-data limit, I get: 150GB\/11GB * 780GB = 10.5TB.&nbsp; That&rsquo;s a pretty promising number!&nbsp; There aren&rsquo;t many orgs that have that much development data to store.\nSo, the next question on my mind was whether or not the blob to meta data ratio was consistent across tenants.&nbsp; In other words, can everyone get this much data in or do usage patterns vary enough that the results are significantly different.&nbsp; I as you might imagine the answer is yes, they do vary a lot.&nbsp; I looked at a number of other larger tenants and I found ratios varied between about 5 and 23 (turns out the largest tenant also had the largest ratio).&nbsp; So if I take the most conservative number and do the same extrapolation, I get 2.2TB.\nSo right now, the best I can say is today you can put in <strong>between 2.2TB and 10.5TB<\/strong> depending on usage patterns.&nbsp; Either way it&rsquo;s a lot of data and no one is close to hitting any limits.\nA bit of a random thought for the day but I thought you might be curious.\nThanks,<\/p>\n<p>Brian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don&rsquo;t get asked that question too often but I do occasionally and, as the service matures, I know I&rsquo;ll get asked it more and more so it&rsquo;s been on my mind.&nbsp; I was looking at some data yesterday about some of our largest tenants.&nbsp; No, I wasn&rsquo;t looking at any of their IP (I [&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":[8],"class_list":["post-1721","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-vsonline"],"acf":[],"blog_post_summary":"<p>I don&rsquo;t get asked that question too often but I do occasionally and, as the service matures, I know I&rsquo;ll get asked it more and more so it&rsquo;s been on my mind.&nbsp; I was looking at some data yesterday about some of our largest tenants.&nbsp; No, I wasn&rsquo;t looking at any of their IP (I [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/1721","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=1721"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/1721\/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=1721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=1721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=1721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}