文件的临时存储

时间:2011-08-04 18:32:39

标签: .net database architecture nosql data-storage

我需要在30分钟(或更短时间)内存储文件,然后我需要将其删除(处理后或通过计时器)。

非功能性要求

它必须是免费的,并且最好有.net适配器。

加载:
第一个里程碑:每分钟10-20个新文件。
第二个里程碑:每分钟100-200个新文件。
第三个里程碑:每分钟1000-3000个新文件。
文件大小:< 10mb - 90%,> 10mb - 10%。

我需要两个解决方案:硬存储(文件系统或数据库)和内存存储。

你对我有什么建议?

PS:目前,我正在研究MongoDB。

2 个答案:

答案 0 :(得分:1)

有趣的问题。

如果你先做一些数学计算并查看最大值,你需要支持:

如果我们假设平均文件大小为5 MB,即250 MB,那么每分钟3000个文件平均每秒50个 。然后所有文件都不会达到平均速度,因此您需要支持每秒至少1 GB。

以这种速度将它推到网络上会成为一个问题。

因此,您需要将数据分布在许多数据库服务器和网段上。

这种数据库拆分称为分片,MongoDB支持分片。对于其他人,请参阅:http://en.wikipedia.org/wiki/Shard_(database_architecture

答案 1 :(得分:0)

如果您在一台服务器上运行该应用程序,则可以使用独立存储:http://msdn.microsoft.com/en-us/library/3ak841sy(v=VS.100).aspx