我已经与几家服务器提供商谈过,他们现在正在尝试估算网络开发项目的成本可行性,但却没有真正得到明确的答案。
项目的主要负担是数据库,它将容纳2000万行数据,每行5列(10个字母代码,10个字母代码,10个字母代码,10个数字整数,URL(平均说长20个字符) )。
主要问题是如何估算出类似存储所需的GB存储量? (使用SQL Server)。 [我没有要测试的SQL Server副本]。
第二个问题确实是关于速度和I / O要求,但在演示开发之后,这可能是一个问题。
答案 0 :(得分:5)
有关该主题的完整MSDN章节:Estimating the Size of a Database。重要的是要知道您需要多少非聚集索引(您要在这些“代码”列中查找数据吗?)以及什么是聚簇索引键。每个主题都有一个关于MSDN的主题:
此外,您可以部署Row Compression或Page Compression来缩小表格的大小。如果您选择Unicode columsn,您还可以启用Unicode Compression。
您的性能要求主要取决于您的负载(即您的查询)。您没有指定有关如何查询数据库的任何内容(范围?聚合,单例查找?,BI?)以及数据库如何更新(只读?,ETL?,OLTP?)。有关如何Monitor and Tune for Performance的提示,但更重要的是设计您的应用程序的性能。有很多细节,例如。阅读How Data Access Code Affects Database Performance但是,在很大程度上,最重要的任务是将您的数据模型(表和索引的布局)调整为您的访问模式(您将如何查询数据库)。
答案 1 :(得分:1)
假设你的10个字母代码和20个字母的url存储为nchar,而你的10个数字整数存储为int,看起来每个this表看起来每行124个字节:20个nchar(10),每个int 4个,每个nchar(20个)40个。这意味着,在2000万行中,你只需要超过2.3 GB。