English 中文(简体)
估算数据库大小 [关闭]
原标题:
  • 时间:2009-03-02 00:16:29
  •  标签:
Closed. This question is opinion-based. It is not currently accepting answers.

想要改进这个问题吗?通过编辑这篇文章,更新问题以便可以用事实和引用回答。

Closed 1 year ago.

我想知道您在开发新应用程序时如何估计数据库大小。

例如,我打算推出一个网站,但是我很难估计我的数据库能够增长到多大。我不希望你告诉我我的数据库会有多大,但我想知道有没有一般的原则可以估算这一点。

例如,当Jeff开发StackOverflow时,他(可能)估计了他的数据库大小和增长。

我的困境是我正在为我的Web应用程序选择托管解决方案(这是成本问题),而且最好不要因未购买足够的SQL Server空间而自寻烦恼(他们对此收取溢价)。

最佳回答

如果您有数据库架构,大小估算非常简单...只需为每个表估计行数*平均行大小*为索引使用某些因子*为开销使用某些其他因子。鉴于如今存储的价格荒谬地低,如果您打算拥有非常高的流量站点(或正在为大型企业构建应用程序),大小通常不是问题。

对于我的尺码练习,我总是创建一个Excel电子表格清单:

  • col 1: each table that will grow
  • col 2: estimated column size in bytes
  • col 3: estimated # of rows (per year or max, depending on application)
  • col 4: index factor (I always set this to 2)
  • col 5: overhead factor (I always set this to 1.2)
  • col 6: total column (col 2 X 3 X 4 X 5)

第6列(总计列)的总和,加上没有增长表的数据库的初始大小,就是您的大小估计。您可以更加科学,但这是我快速和粗略的方法。

问题回答

确定:

  • how many visitors per day, V
  • how many records of each type will be created per visit, N1, N2, N3...
  • the size of each record type, S1, S2, S3...

编辑:忘记了指数因素,一个好的经验法则是2倍。

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

我的基本原则是

  • how many users do I expect?
  • what content can they post?
  • how big is a user record?
  • how big is each content item a user can add?
  • how much will I be adding?
  • how long will those content items live? forever? just a couple weeks?

将用户记录大小乘以用户数量;将用户数量乘以内容项目大小;乘以二(为方便起见使用一个骗过因子)。

估计成本很可能比储存成本更高。

大多数托管提供商通过每月使用的数量出售容量,因此只需让其运行。





相关问题
热门标签