NHibernate mit Sql Azure und Sharding

8

Hat jemand gute Informationsquellen über die Verwendung von NHibernate mit Sql Azure mit den Implikationen von sharding (wegen der 10gb Cap)? Ich weiß, es gibt Beiträge im Internet, die auf ein Sharding-Projekt für NH verweisen, aber sie stammen aus dem 3. Quartal 09 und ich habe bei Google nicht viel relevanteres gefunden.

Hat jemand Informationen darüber, Sharding manuell zu implementieren, wenn das Sharding-Projekt noch nicht sinnvoll ist? Wäre es nur so einfach, eine Sitzungsfactory für jeden Shard zu erstellen und eine Sammlung von Fabrics zu behalten? Es scheint, als wäre es problematisch, die ISession-Aufrufe durch jede Fabrik zu reproduzieren, aber ich nehme an, es könnte durch die Übergabe von Operationen als Funcs erreicht werden, die von jeder Fabrik auf der ISession aufgerufen werden, aber mehr wie der falsche Pfad zu sein scheint >     

Chris Marisic 02.03.2010, 15:31
quelle

1 Antwort

4

Ich habe vor ungefähr einem Monat einen Proof of Concept mit NHibernate in SQLAzure / Sharding geschrieben. Wie Sie bereits festgestellt haben, gibt es Aspekte, die sich einfach nicht richtig anfühlen. Bis sich der NH-Support entwickelt hat, müssen Sie möglicherweise einige Dinge ausprobieren, um herauszufinden, was am besten für Sie funktioniert. Ich kann Ihnen einen allgemeinen Ablauf erzählen, wie es für uns funktioniert hat.

Wir haben eine einfache Sharding-Strategie Factory implementiert, die Strategien zur Verfügung stellt, die entscheiden, auf welchem ​​Shard Sie basierend auf unseren Anforderungen platziert werden. Ihre Bedürfnisse können hier variieren. Der Schlüssel besteht darin, Strategien zu erstellen, die Ihre Abfrageergebnisse verarbeiten, zusammenführen und ordnen. Von dort aus ist die Sitzungsgenerierung und -benutzung identisch mit allen anderen Sitzungsverwendungen, was sehr wünschenswert ist.

EDIT: Ich weiß dieser Beitrag von Ayende ist ein paar Monate alt, aber genau so haben wir es implementiert und es funktioniert. Das Gerücht ist eine bessere Unterstützung in nHibernate wird kommen.

    
Kilhoffer 09.03.2010, 22:15
quelle