NHibernate с Sql Azure и Sharding

У кого-либо есть какие-либо хорошие источники информации использования NHibernate с Azure Sql с последствиями sharding (из-за ограничения на 10 ГБ)? Я знаю, что существуют сообщения в Интернете, которые ссылаются на sharding проект для NH, но они от 3-го квартала 09, и я не нашел немного намного более релевантными на Google.

Связанный у кого-либо есть информация о ручной реализации sharding, если sharding проект не жизнеспособен для использования уже? Это просто было бы так же просто как создание фабрики сессии для каждого черепка и сохранило бы набор фабрик? Это кажется, что было бы проблематичное репродуцирование вызовов ISession через каждую фабрику однако, я предполагаю, что это могло быть достигнуто передающими операциями как Funcs, который вызывается на ISession от каждой фабрики, но больше походит на неправильный путь для потери работоспособности.

8
задан Chris Marisic 2 March 2010 в 15:31
поделиться

1 ответ

Около месяца назад я написал доказательство концепции, используя NHibernate на SQLAzure / Sharding. Как вы отметили, есть аспекты, которые кажутся вам неправильными. Пока поддержка NH не будет развита, вам, возможно, придется попробовать несколько вещей, чтобы выяснить, что лучше всего подходит для вас. Я могу рассказать вам в общих чертах, как это сработало для нас.

Мы реализовали простую фабрику стратегий сегментирования, которая предоставляет стратегии, которые решают, в какой сегмент разместить вас, исходя из наших потребностей. Здесь ваши потребности могут отличаться. Ключевым моментом является создание стратегий, которые обрабатывают, объединяют и упорядочивают результаты вашего запроса. Оттуда создание и использование сеанса такое же, как и при любом другом использовании сеанса, что очень желательно.

РЕДАКТИРОВАТЬ: Я знаю , что этому посту Айенде всего несколько месяцев, но мы реализовали его именно так, и он работает. Ходят слухи, что в nHibernate появится лучшая поддержка.

4
ответ дан 6 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: