8

有没有人有任何关于使用 NHibernate 和 Sql Azure 以及分片含义的良好信息来源(因为 10gb 上限)?我知道互联网上有一些帖子引用了 NH 的分片项目,但它们来自 09 年第 3 季度,我在 google 上找不到更多相关信息。

如果分片项目尚不可行,是否有人有有关手动实施分片的信息?是否就像为每个分片创建一个会话工厂并保留一系列工厂一样简单?这似乎是通过每个工厂复制 ISession 调用会出现问题,但是我认为它可以通过将操作作为函数传递来实现,这些函数从每个工厂在 ISession 上调用,但似乎更像是错误的路径。

4

1 回答 1

4

大约一个月前,我在 SQLAzure/Sharding 上使用 NHibernate 编写了一个概念证明。正如您所指出的,有些方面对此感觉不正确。在 NH 支持发展之前,您可能需要尝试一些方法来找出最适合您的方法。我可以告诉你它如何为我们工作的一般流程。

我们实现了一个简单的分片策略工厂,它提供了根据我们的需要决定将您放置在哪个分片中的策略。您的需求可能在此处有所不同。关键是创建处理、合并和排序查询结果的策略。从那里开始,会话的创建和使用与任何其他会话使用相同,这是非常可取的。

编辑:我知道Ayende的这篇文章已有几个月的历史,但这正是我们实施它的方式并且它有效。有传言说 nHibernate 将提供更好的支持。

于 2010-03-09T22:15:19.020 回答