У кого-либо есть какие-либо хорошие источники информации использования NHibernate с Azure Sql с последствиями sharding (из-за ограничения на 10 ГБ)? Я знаю, что существуют сообщения в Интернете, которые ссылаются на sharding проект для NH, но они от 3-го квартала 09, и я не нашел немного намного более релевантными на Google.
Связанный у кого-либо есть информация о ручной реализации sharding, если sharding проект не жизнеспособен для использования уже? Это просто было бы так же просто как создание фабрики сессии для каждого черепка и сохранило бы набор фабрик? Это кажется, что было бы проблематичное репродуцирование вызовов ISession через каждую фабрику однако, я предполагаю, что это могло быть достигнуто передающими операциями как Funcs, который вызывается на ISession от каждой фабрики, но больше походит на неправильный путь для потери работоспособности.
Около месяца назад я написал доказательство концепции, используя NHibernate на SQLAzure / Sharding. Как вы отметили, есть аспекты, которые кажутся вам неправильными. Пока поддержка NH не будет развита, вам, возможно, придется попробовать несколько вещей, чтобы выяснить, что лучше всего подходит для вас. Я могу рассказать вам в общих чертах, как это сработало для нас.
Мы реализовали простую фабрику стратегий сегментирования, которая предоставляет стратегии, которые решают, в какой сегмент разместить вас, исходя из наших потребностей. Здесь ваши потребности могут отличаться. Ключевым моментом является создание стратегий, которые обрабатывают, объединяют и упорядочивают результаты вашего запроса. Оттуда создание и использование сеанса такое же, как и при любом другом использовании сеанса, что очень желательно.
РЕДАКТИРОВАТЬ: Я знаю , что этому посту Айенде всего несколько месяцев, но мы реализовали его именно так, и он работает. Ходят слухи, что в nHibernate появится лучшая поддержка.