估计数据库大小

时间:2009-03-02 00:16:30

标签: sql-server database sizing

我想知道在估算数据库大小方面开发新应用程序时你做了什么。

E.g。我计划推出一个网站,我很难估计我希望我的数据库增长的规模。我不希望你告诉我我的数据库的大小,但我想知道估计这个是否有一般原则。

E.g。当Jeff开发StackOverflow时,他(大概)估计了他的数据库大小和增长。

我的困境是我要为我的网络应用程序提供一个托管解决方案(它在这个阶段的成本),并且最好不要因为没有购买足够的SQL Server空间而自己开枪(他们收取费用这个的溢价)。

4 个答案:

答案 0 :(得分:18)

如果你有一个数据库模式,大小调整非常简单......它只是估计行*每个表的avg行大小*索引的一些因素*开销的一些其他因素。鉴于现在的存储价格非常低,除非您打算拥有一个非常高流量的站点(或正在为大型企业构建应用程序),否则通常不会出现问题。

对于我自己的大小调整练习,我总是创建一个excel电子表格列表:

  • col 1:将会增长的每张桌子
  • col 2:估计列大小(以字节为单位)
  • col 3:估计的行数(每年或最多,取决于应用)
  • col 4:索引因子(我总是将其设置为2)
  • col 5:开销因素(我总是将其设置为1.2)
  • col 6:总柱(col 2 X 3 X 4 X 5)

col 6(总列)的总和加上没有增长表的数据库的初始大小是您的大小估计值。你可以变得更加科学,但这是我快速而又肮脏的方式。

答案 1 :(得分:0)

估算成本可能大于存储成本

大多数托管服务提供商通过每个月末使用的ammount来销售容量,所以让它运行

答案 2 :(得分:0)

确定:

  • 每天有多少访客,V
  • 每次访问将创建每种类型的记录数,N1,N2,N3 ......
  • 每种记录类型的大小,S1,S2,S3 ......
编辑:忘记指数因素,这是一个好的经验法则是2次

每日总增长= 2 * V *(N1 * S1 + N2 * S2 + N3 * S3 + ......)

答案 3 :(得分:0)

我要遵循的经验法则是

  • 我期望有多少用户?
  • 他们可以发布哪些内容?
  • 用户记录有多大?
  • 用户可以添加的每个内容项有多大?
  • 要添加多少?
  • 这些内容项目会存在多长时间?永远?只有几个星期?

将用户记录大小乘以用户数;添加内容项大小的用户数;乘以2(为方便的软糖因素)。