I often get asked a question similar to that; I need to figure out how to calculate what my database size will be 12 months down the road, or 24 months, or 36 months? But how do I do that?
There is a simple formula we can use to calculate this; however in order to do it we need to know few key values.
- What is current size? (CurrentSize(mb))
- What is the expected monthly growth in percent? (ProjectedGrowthPerMonth(%))
- How many months we want to know growth for? (NumberOfMonthsToProject)
So lets take this formula and try to calculate the growth for a database. Lets say we have a database that is 10240MB and it is projected to grow by 10% per month. What would be its size in 12 months from now?
NewSize (MB) = 10240MB * [(1 + 10%) ^ 12] = 10240MB * [1.10 ^ 12] = 10240MB * 3.14 = 32153MB approx.
We can verify our final value by doing manual calculation like so …
Month | Size @ Start | Growth | Final Size |
1 | 10,240.00 | 1,024.00 | 11,264.00 |
2 | 11,264.00 | 1,126.40 | 12,390.40 |
3 | 12,390.40 | 1,239.04 | 13,629.44 |
4 | 13,629.44 | 1,362.94 | 14,992.38 |
5 | 14,992.38 | 1,499.24 | 16,491.62 |
6 | 16,491.62 | 1,649.16 | 18,140.78 |
7 | 18,140.78 | 1,814.08 | 19,954.86 |
8 | 19,954.86 | 1,995.49 | 21,950.35 |
9 | 21,950.35 | 2,195.03 | 24,145.38 |
10 | 24,145.38 | 2,414.54 | 26,559.92 |
11 | 26,559.92 | 2,655.99 | 29,215.92 |
12 | 29,215.92 | 2,921.59 | 32,137.51 |
We can see the final size is approx same as one calculated above. Most likely difference occured because I rounded off the “3.14”; where as table above is generated via Microsoft Excel handling the rounding for me.