我有一个C#/ .NET应用程序需要在中央存储库中存储可变大小的二进制blob(10KB - 100MB)。 MogileFS完全满足我的需求(一次写入,高可用性,透明的水平可伸缩性,针对商用硬件进行了优化)但缺少.NET绑定表明还有其他更多的.NET方法。
或者我应该只写那些绑定?
答案 0 :(得分:1)
您可以考虑使用Raven DB。它针对比其他解决方案更高的读写比率进行了优化,并且是针对.NET的。对分布式场景的支持,包括分片,多租户等,都在其中。
答案 1 :(得分:0)
我建议你看一下Appistry的CloudIQ Storage。它是一个在商用硬件上运行的完全分布式数据存储。您可以逐个文件地定义它跨节点维护的文件的副本数。因此,如果您编写一次文件,但有许多并发读取,则可以将N(文件的副本数)的值设置为较大的数,以获得更高的并发性。
系统为PUT和GET实现了一个基于REST的接口,并且元数据以JSON形式返回,因此.NET中有许多好的库。
答案 2 :(得分:0)
我将在这里走出困境并建议MySQL。如果你在MyISAM中使用MySQL,那么我觉得很适合你的需求。如果您希望高可用性,则可以使用复制来跨多台计算机镜像数据。如果您想要更高可用性,可以迁移到MySQL Cluster。 MySQL的.Net绑定工作得很好。除非你真的需要一些更专业的东西,从你的小描述中看起来似乎没有,所以MySQL可以胜任这项任务。使用标准RDBMS的优势,即使您不一定需要它的所有功能,也很容易找到已经知道如何使用它的开发人员。