【问题标题】:Temporary storage for files文件的临时存储
【发布时间】:2011-10-20 06:37:04
【问题描述】:

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

非功能性需求

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

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

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

你有什么建议?

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

【问题讨论】:

    标签: .net database architecture nosql data-storage


    【解决方案1】:

    有趣的问题。

    如果你先做一些数学运算,然后看看你需要支持的最大值:

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

    在这样的速度下,仅仅通过网络推送就成了问题。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-14
        • 1970-01-01
        相关资源
        最近更新 更多