我正在寻找一个经过合理测试的库+服务器来存储一个持久的分布式哈希表。

我很擅长使用基于SQL的解决方案,因为数据是高度面向文档的,由数百万~64KB blob组成,只有一个索引(通过所述BLOB的哈希计算) - 并且需要能够分发长期规模前景。

由于费用和带宽方面的考虑,S3等外部解决方案不是一种选择。

像CouchDB或Project Voldemort这样的东西是理想的 - 但是对于两者都存在明显缺乏.NET绑定(PV可以是来自Java的IKVMC-但是具有“问题”。)。键和值都是字节数组(键是16字节,值最多为2048KB,平均为64KB)

到目前为止,我已经搜索过Dynamo,Chord和类似的某种.NET端口 - 但是大多数结果看起来都是纯粹的内存缓存,缺乏任何形式的持久性或复制。

任何人有任何想法或建议吗?

有帮助吗?

解决方案

看看Ayende的 Rhino DHT 。可能更符合您的要求。可以通过此处获取来源。

其他提示

DryadLINQ Hadoop.Net 可能会有所帮助。

Hadoop.Net是Hadoop的dotnet版本。有关Hadoop的更多信息,请访问此处

我实际上认为您应该考虑使用SQL Server 2008.将数据存储在带有varbinary(max)列的表中,以及包含该列散列的列。按照你的建议索引哈希值。

然后,您就可以使用该产品的各种分发功能。

考虑 MS Velocity

摘要:“ Velocity”是一个分布式内存应用程序缓存平台,用于开发可伸缩,可用和高性能的应用程序。 “速度”在多台计算机之间融合内存,为应用程序提供单一的统一缓存视图。应用程序可以存储任何可序列化的CLR对象,而无需担心对象的存储位置。只需按需添加更多计算机即可实现可扩展性。 “速度”还允许跨群集存储数据副本,从而保护数据免受故障的影响。 “速度”可以配置为作为通过网络访问的服务运行,也可以使用分布式应用程序嵌入运行。

您可以尝试在其后端使用NCache技术的StorageEdge,因此通过使用它,您将获得分布式缓存的支持,这将提高SharePoint性能,可靠性,可扩展性并同时优化其存储。

以下是StorageEdge主页 http://www.alachisoft.com/storageedge/ 的链接希望它有所帮助:)

Rest for .NET你总是可以尝试NCache在分布式缓存中的大名,你可以在 http: //www.alachisoft.com/ncache/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top