我需要在30分钟(或更短时间)内存储文件,然后我需要将其删除(处理后或通过计时器)。
非功能性要求
它必须是免费的,并且最好有.net适配器。
加载:
第一个里程碑:每分钟10-20个新文件。
第二个里程碑:每分钟100-200个新文件。
第三个里程碑:每分钟1000-3000个新文件。
文件大小:< 10mb - 90%,> 10mb - 10%。
我需要两个解决方案:硬存储(文件系统或数据库)和内存存储。
你对我有什么建议?
PS:目前,我正在研究MongoDB。
答案 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